C语言刷题修订版多解.docx
- 文档编号:3583302
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:18
- 大小:17.78KB
C语言刷题修订版多解.docx
《C语言刷题修订版多解.docx》由会员分享,可在线阅读,更多相关《C语言刷题修订版多解.docx(18页珍藏版)》请在冰豆网上搜索。
C语言刷题修订版多解
第1题(35.0分)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
在键盘上输入一个3行3列矩阵的各个元素的值(值
为整数),然后输出主对角线元素的积,并在fun()
函数中输出。
------------------------------------------------*/
#include
voidwwjt();
main()
{
inti,j,s,a[3][3];;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
s=fun(a);
printf("Sum=%d\n",s);
}
intfun(inta[3][3])
{
/**********Program**********/
inti,sum=1;
for(i=0;i<3;i++)
sum*=a[i][i];
returnsum;
或者
returna[0][0]*a[1][1]*a[2][2];
/**********End**********/
}
第2题(35.0分)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
求小于lim的所有素数并放在aa数组中,该函数返回
所求出素数的个数。
------------------------------------------------*/
#include
#include
#defineMAX100
voidwwjt();
intfun(intlim,intaa[MAX])
{
/**********Program**********/
intn=0;
inti,j;
for(i=2;i<=lim;i++)
{for(j=2;j
if(i%j==0)break;
if(j==i)aa[n++]=i;
}
returnn;
/**********End**********/
}
main()
{
intlimit,i,sum;
intaa[MAX];
printf("Pleaseinputainteger:
");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i if(i%10==0&&i! =0)printf("\n"); printf("%5d",aa[i]); } 第3题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 输入华氏温度求摄氏温度。 转换公式为c=5/9(f-32), 输出结果取两位小数。 ------------------------------------------------*/ #include voidwwjt(); doublefun(doublem) { /**********Program**********/ floatn; n=(5.0/9.0)*(m-32); returnn; 或者 return(5.0/9.0)*(m-32); /**********End**********/ } voidmain() { doublec,f; printf("请输入一个华氏温度: "); scanf("%lf",&f); c=fun(f); printf("摄氏温度为: %5.2f\n",c); } 第4题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 找出一批正整数中的最大的偶数。 ------------------------------------------------*/ #include voidwwjt(); intfun(inta[],intn) { /**********Program**********/ inti,amax=-1; for(i=0;i if(a[i]%2==0) if(a[i]>amax)amax=a[i]; returnamax; /**********End**********/ } main() { inta[]={1,2,9,24,35,18},k; k=fun(a,6); printf("max=%d\n",k); } 第5题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 编写main程序调用函数fact求解从m个元素选n个元 素的组合数的个数。 计算公式是: 组合数=m! /(n! .(m-n)! )。 要求: m不能小于n,否则 应有容错处理。 说明: 函数fact(x)的功能是求x! 。 ------------------------------------------------*/ #include voidwwjt(); longfact(intx) { longy; inti; y=1; for(i=1;i<=x;i++) y=y*i; returny; } main() { intm,n; longzhsgs; printf("请输入m和n: \n");scanf("%d%d",&m,&n); /**********Program**********/ while(m { printf("m和n输入错! 请重新输入: \n"); scanf("%d%d",&m,&n); } zhsgs=fact(m)/(fact(n)*fact(m-n)); /**********End**********/ printf("从%d个元素选%d个元素的组合数的个数是: %d\n",m,n,zhsgs); } 第6题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 求一个四位数的各位数字的立方和。 ------------------------------------------------*/ #include voidwwjt(); intfun(intn) { /**********Program**********/ intd,s=0; while(n>0) {d=n%10; s+=d*d*d; n/=10; } returns; /**********End**********/ } main() { intk; k=fun(1234); printf("k=%d\n",k); } 第7题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的平方和,并在 fun()函数中输出。 ------------------------------------------------*/ #include voidwwjt(); main() { inti,j,s,a[3][3];; for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } s=fun(a); printf("Sum=%d\n",s); wwjt(); } intfun(inta[3][3]) { /**********Program**********/ intsum; inti; sum=0; for(i=0;i<3;i++) sum=sum+a[i][i]*a[i][i]; returnsum; 或者 return(a[0][0]*a[0][0]+a[1][1]*a[1][1]+a[2][2]*a[2][2]); /**********End**********/ } 第8题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 计算n门课程的平均值,计算结果作为函数值返回。 例如: 若有5门课程的成绩是: 92,76,69,58,88, 则函数的值为76.600000。 ------------------------------------------------* #include voidwwjt(); floatfun(inta[],intn) { /**********Program**********/ inti; floaty=0; for(i=0;i y+=a[i]; y=y/n; returny; /**********End**********/ } main() { inta[]={92,76,69,58,88}; printf("y=%f\n",fun(a,5)); } 第9题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 根据整型形参m,计算如下公式的值: y=sin(m)*10。 例如: 若m=9,则应输出: 4.121185 ------------------------------------------------*/ #include #include"math.h" voidwwjt(); doublefun(intm) { /**********Program**********/ doubley=0; y=sin(m)*10; return(y); 或者 returnsin(m)*10.0; /**********End**********/ } main() { intn; printf("Entern: "); scanf("%d",&n); printf("\nTheresultis%1f\n",fun(n)); } 第10题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 求一批数中最大值和最小值的差。 ------------------------------------------------*/ #defineN30 #include"stdlib.h" #include voidwwjt(); intmax_min(inta[],intn) { /**********Program**********/ inti,max,min; max=min=a[0]; for(i=1;i if(a[i]>max)max=a[i]; elseif(a[i] return(max-min); /**********End**********/ } main() { inta[N],i,k; for(i=0;i a[i]=random(51)+10; for(i=0;i { printf("%5d",a[i]); if((i+1)%5==0)printf("\n"); } k=max_min(a,N); printf("theresultis: %d\n",k); } 第11题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 判断一个整数w的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。 ------------------------------------------------*/ #include #include"conio.h" voidwwjt(); intfun(intw) { /**********Program**********/ intk,s=0; do {s=s+(w%10)*(w%10); w=w/10; }while(w! =0); return(s%5==0? 1: 0); /**********End**********/ } main() { intm; printf("Enterm: "); scanf("%d",&m); printf("\nTheresultis%d\n",fun(m)); } 第12题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 对某一正数的值保留2位小数,并对第三位进行四舍 五入。 ------------------------------------------------*/ #include #include"conio.h" voidwwjt(); doublefun(floath) { /**********Program**********/ inti; i=(int)(h*1000)%10; if(i>=5) return(int)(h*100+1)/100.0; else return(int)(h*100)/100.0; /**********End**********/ } main() { floatm; printf("Enterm: "); scanf("%f",&m); printf("\nTheresultis%8.2f\n",fun(m)); } 第13题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 统计出若干个学生的平均成绩,最高分以及得最高 分的人数。 例如: 输入10名学生的成绩分别为92,87,68,56,92, 84,67,75,92,66,则输出平均成绩为77.9, 最高分为92,得最高分的人数为3人。 ------------------------------------------------*/ #include voidwwjt(); floatMax=0; intJ=0; floatfun(floatarray[],intn) { /**********Program**********/ inti;floatsum=0,ave; Max=array[0]; for(i=0;i {if(Max sum=sum+array[i];} ave=sum/n; for(i=0;i if(array[i]==Max)J++; return(ave); /**********End**********/ } main() { floata[10],ave; inti=0; for(i=0;i<10;i++) scanf("%f",&a[i]); ave=fun(a,10); printf("ave=%f\n",ave); printf("max=%f\n",Max); printf("Total: %d\n",J); } 第14题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 编写函数fun对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 ------------------------------------------------*/ #include voidwwjt(); intfun(intarray[],intn) { /**********Program**********/ inti,j,t; for(i=0;i for(j=i+1;j if(array[i] {t=array[i];array[i]=array[j];array[j]=t;} 或者(冒泡法) inti,j,t; for(i=1;i for(j=0;j if(array[j] {t=array[j];array[j]=array[j+1];array[j+1]=t;} /**********End**********/ } main() { inta[10],i; printf("请输入数组a中的十个数: \n"); for(i=0;i<10;i++) scanf("%d",&a[i]); fun(a,10); printf("由大到小的排序结果是: \n"); for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); } 第15题(35.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 实现两个整数的交换。 例如: 给a和b分别输入: 60和65,输入为: a=65b=60 ------------------------------------------------*/ #include #include voidwwjt(); voidfun(int*a,int*b) { /**********Program**********/ intt; t=*a; *a=*b; *b=t; /**********End**********/ } main() { inta,b; printf("Entera,b: "); scanf("%d%d",&a,&b); fun(&a,&b); printf("a=%db=%d\n",a,b); } 祝C语言不挂 考试顺利
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 修订版
![提示](https://static.bdocx.com/images/bang_tan.gif)