c语言实验word文档良心出品Word格式文档下载.docx
- 文档编号:20343281
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:29
- 大小:22.73KB
c语言实验word文档良心出品Word格式文档下载.docx
《c语言实验word文档良心出品Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言实验word文档良心出品Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
{
temp=grade[i];
grade[i]=grade[j];
grade[j]=temp;
}
printf("
%6d"
grade[i]);
\n"
);
//3.从键盘上输入10个整数,并放入一个一维数组中,
//然后将其逆序重新存放。
//即:
第1个元素和第10个元素互换,第2个元素和第9个元素互换……分别输出数组原来的值和兑换后各元素的值。
#defineN10
intnumber[10]={78,89,56,98,74,66,23,58,68,75};
inti;
N/2;
{
temp=number[i];
number[i]=number[N-i-1];
number[N-i-1]=temp;
N;
number[i]);
//4.计算一个4×
4矩阵两个对角线之和
#defineM4
#defineN4
inta[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
intsum=0;
M;
for(j=0;
{
if(i==j||i+j==M-1)
sum=sum+a[i][j];
}
sum=%d\n"
sum);
//随机产生20个[45,210]范围内的正整数,实现以下功能:
//a)求最大值、最小值和平均值。
//b)求小于平均值的数据的个数。
#include<
time.h>
stdlib.h>
#defineN20
inta[N];
intmax,min,sum=0;
floatavg;
intcount=0;
srand(time(NULL));
/*初始化随机因子*/
i++)
a[i]=rand()%(210-45+1)+45;
/*生成45~210之间的整数*/
max=a[0];
min=a[0];
if(a[i]>
max)
max=a[i];
if(a[i]<
min)
min=a[i];
sum=sum+a[i];
avg=(float)sum/N;
生成的20个随机数为:
%5d"
if((i+1)%10==0)
printf("
最大值为:
%d;
最小值为:
平均值为:
%f;
max,min,avg);
avg)
count++;
小于平均值的数据个数为:
%d\n"
count);
//下面程序的功能是对两个字符串进行比较,
//然后输出两个字符串中第一个不相同字符的ASCII码之差。
//例如:
输入的两个字符串分别为"
abcdefg"
和"
abceef"
,则输出为-1。
{
charstr1[100],str2[100];
inti,s;
Enterstring1:
"
gets(str1);
Enterstring2:
gets(str2);
i=0;
while((str1[i]==str2[i]&
&
str1[i]!
='
\0'
))
i++;
s=str1[i]-str2[i];
s);
//编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。
//不用strcpy函数。
复制时'
也要复制过去,'
后面的字符不复制。
chars1[100],s2[100];
gets(s1);
while((s1[i]!
{s2[i]=s1[i];
s2[i]=s1[i];
s2=%s\n"
s2);
//输入若干个字符串(最多10个),
//求出每个字符串的长度,并打印最长字符串的内容。
//以"
stop"
作为输入的最后一个字符串。
string.h>
charstr[10][100];
inti=0,k;
intmax_len,max_pos;
gets(str[i]);
max_len=strlen(str[i]);
max_pos=0;
while(i<
10&
strcmp(str[i],"
)!
=0){
gets(str[i]);
for(k=0;
k<
i;
k++)
第%d字符串长度为%d\n"
k+1,strlen(str[k]));
if((int)strlen(str[k])>
max_len)
max_len=strlen(str[k]);
max_pos=k;
最长字符串的内容为:
%s\n"
str[max_pos]);
inti=0;
第%d字符串长度为%d"
i+1,strlen(str[i]));
if((int)strlen(str[i])>
max_len=strlen(str[i]);
max_pos=i;
%s"
实验6—4
charstr[]="
AbcDEfg"
;
intk=0;
转换前的字符串为:
str);
while(str[k]!
)
if(str[k]>
a'
str[k]<
z'
str[k]=str[k]-32;
elseif(str[k]>
A'
Z'
str[k]=str[k]+32;
k++;
实验7—1—2
intsub(intn)
{
return(n/10+n%10);
intx,y;
x);
y=sub(sub(sub(x)));
y);
实验7—1—1
fun(intx)
{intp;
if(x==0||x==1)return(3);
p=x-fun(x-2);
returnp;
{printf("
%d\n"
fun(9));
//2.写一个判素数的函数intisprime(inta){……},
//在主函数输入一个整数,并调用isprime函数,输出是否为素数的信息。
math.h>
intisprime(inta);
intn;
n);
if(isprime(n)==1)
%d是一个素数!
n);
else
%d不是一个素数\n!
"
intisprime(inta)
intk;
for(k=2;
=sqrt(a);
if(a%k==0)return0;
return1;
//3.用递归方法求n阶勒让德多项式的值,递归公式为:
floatp(floatx,intn);
floatx;
请输入x,n:
<
xn>
:
%f%d"
x,&
p(%f,%d)=%f\n"
x,n,p(x,n));
floatp(floatx,intn)
if(n==0)
return1;
elseif(n==1)
returnx;
return((2*n-1)*x-p(x,n-1)-(n-1)*p(x,n-1))/n;
//4.编写一函数,计算任一输入的整数的各位数字之和。
//主函数包括输入输出和调用该函数。
intsum_digit(intn);
intnum;
请输入一个整数:
%d的各位数字之和为%d\n"
num,sum_digit(num));
intsum_digit(intn)
inttemp_sum;
temp_sum=n%10;
while(n/10!
n=n/10;
temp_sum=temp_sum+n%10;
returntemp_sum;
//1.编写将n个数从小到大排序的函数,
//要求该函数返回排序过程中交换的次数,并设计main函数,验证算法正确与否。
//intsort(intarr[],intn){……….}
intsort(intarr[],intn);
inta[10]={10,9,8,7,6,5,4,3,2,1};
初始序列为:
a[k]);
将序列按从小到大顺序排序,经过%d次变换后,序列为:
sort(a,10));
intsort(intarr[],intn)
n-1;
n;
if(arr[i]>
arr[j])
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
count++;
returncount;
}
//2.写一函数voidstrcat_stu(chars1[41],chars2[20]){……….},
//将两个字符串连接,并设计main函数,验证算法正确与否。
voidstrcat_stu(chars1[41],chars2[20])
intk=0,m=0;
while(s1[k]!
while(s2[m]!
s1[k]=s2[m];
m++;
s1[k]='
charstr1[41],str2[20];
strcpy(str1,"
strcpy(str2,"
123456"
strcat_stu(str1,str2);
str1);
f(inta)
intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
实验8—3
main()
inta=1,i;
3;
f(a));
//4.输入10个学生5门课的成绩,分别用函数实现下列功能:
//
(1)计算每个学生的平均分。
//
(2)计算每门课的平均分。
//(3)找出所有50个分数中最高的分数所对应的学生和课程;
//(4)计算平均分方差
floatgrade[10][5]={{78,89,76,98,87},{79,83,79,92,85},
{72,81,79,91,86},{75,84,71,95,81},
{71,84,71,92,84},{78,86,72,93,82},
{75,86,73,93,88},{76,87,73,95,83},
{79,84,75,94,89},{72,89,74,98,84},};
floataverage[10],total[10];
floataverage_course[5],total_course[5];
floatmax_grade;
intmax_course,max_stu;
floatf1=0,f2=0,variance;
---------------计算每个学生的平均分----------------------\n"
total[i]=0;
5;
total[i]=total[i]+grade[i][j];
average[i]=total[i]/5;
第%d个学生的平均分为%5.2f\n"
i+1,average[i]);
\n----------------计算每门课的平均分-----------------------\n"
total_course[i]=0;
total_course[i]+=grade[j][i];
average_course[i]=total_course[i]/10;
第%d门课程的平均分为%5.2f\n"
i+1,average_course[i]);
\n---------找出所有50个分数中最高的分数所对应的学生和课程-----------\n"
max_grade=grade[0][0];
max_stu=0;
max_course=0;
if(max_grade<
grade[i][j])
max_grade=grade[i][j];
max_stu=i;
max_course=j;
50个分数中第%d个学生的第%d门课程分数最高,最高分为%5.2f\n"
max_stu+1,max_course+1,max_grade);
\n-------------------计算平均分方差----------------------\n"
f1=f1+average[i]*average[i];
f2=f2+average[i];
variance=f1/10-(f2/10)*(f2/10);
平均分方差为:
%8.4f\n"
variance);
实验9—1—1
#include"
stdio.h"
voidsub(intx,inty,int*z)
*z=y-x;
inta,b,c;
sub(10,5,&
a);
sub(7,a,&
b);
sub(a,b,&
c);
%d,%d,%d\n"
a,b,c);
实验9—1—2
inta[]={2,4,6,8,10},y=1,x,*p;
p=&
a[1];
for(x=0;
x<
x++)
y+=*(p+x);
//定义函数voidf(floatx,int*y,float*z),
//将x的整数部分存于y所指存储单元,
//将x的小数部分存于z所指存储单元。
//并设计main函数,验证算法正确与否。
voidf(floatx,int*y,float*z)
*y=(int)x;
*z=x-*y;
inty;
floatz;
%f"
f(x,&
y,&
z);
%f的整数部分为:
%d,小数部分为:
%f\n"
x,y,z);
//下面程序实现从10个数中找出最大值和最小值。
//请补充程序完整。
intmax,min;
find_max_min(int*p,intn)
int*q;
max=min=*p;
for(q=p;
q<
p+n;
q++)
if(*q>
max)max=*q;
elseif(*q<
min)min=*q;
voidmain()
inti,num[10]={12,45,78,485,78,25,-78,69,45,-789};
i<
i++)
num[i]);
find_max_min(num,10);
max=%d,min=%d\n"
max,min);
//4.输入10个整数,将其中最小的数与第一个数对换,
//把最大的数与最后一个数对换。
模仿第2题使用指针实现。
//写3个函数:
①输入10个数。
②进行处理。
③输出10个数。
voidinput_data(inta[],intn);
voidprintf_data(inta[],intn);
voiddeal_data(inta[],intn);
voidswap(int*m,int*n);
input_data(a,N);
deal_data(a,N);
printf_data(a,N);
voidinput_data(inta[],intn)
scanf("
a[i]);
voidprintf_data(inta[],intn)
for(i=0;
voiddeal_data(inta[],intn)
intmin_pos=0,max_p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 word 文档 良心 出品