程序设计C.docx
- 文档编号:10683723
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:38
- 大小:20.93KB
程序设计C.docx
《程序设计C.docx》由会员分享,可在线阅读,更多相关《程序设计C.docx(38页珍藏版)》请在冰豆网上搜索。
程序设计C
C语言程序设计练习题--程序设计
〖第2题〗(练习题所在文件夹:
486)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
有一个3×3的数组,求其右上三角(含主对角线)的元素
之和。
程序的运行结果为26。
--------------------------------------------------
注意:
部分源程序给出如下。
请勿改动主函数main和其
它函数中的任何内容,仅在函数fun的花括号中填
入所编写的若干语句。
------------------------------------------------*/
#include
#defineN3
intfun(inta[N][N])
{inti,j,s;
/**********Program**********/
/**********End**********/
return(s);
}
main()
{
inta[N][N]={{1,2,3},{4,5,6},{7,8,9}},s;
s=fun(a);
printf("%d\n",s);
}
参考答案:
s=0;
for(i=0;i for(j=0;j if(i<=j)s+=a[i][j]; 〖第3题〗(练习题所在文件夹: 341)! ? /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写程序,实现矩阵(3行3列)的转置 (即行列互换) 例如,输入下面的矩阵: 100200300 400500600 700800900 程序输出: 100400700 200500800 300600900 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花 括号中填入所编写的若干语句。 ------------------------------------------------*/ }#include"stdio.h" intfun(intarray[3][3]) { /**********Program**********/ /**********End**********/ } main() { inti,j; intarray[3][3]={{100,200,300}, {400,500,600}, {700,800,900}}; clrscr(); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); } fun(array); printf("Convertedarray: \n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%7d",array[i][j]); printf("\n"); getch(); } 参考答案: ---------------------- inti,j,t; for(i=0;i<3;i++) for(j=0;j {t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t;} ---------------------- 〖第4题〗(练习题所在文件夹: 489)! ! ! ! ! /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 在主函数中通过键盘输入年份,调用函数fun判断该年 是否为闰年。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include fun(intyear) {intflag; /**********Program**********/ /**********End**********/ } main() {intyear,np; printf("Pleaeinputayear: ");scanf("%d",&year); np=fun(year); if(! np) printf("%disnotaleapyear\n",year); else printf("%disaleapyear\n",year); } 参考答案: if(year%400==0)flag=1; elseif(year%4! =0)flag=0; elseif(year%100! =0)flag=1; elseflag=0; return(flag); 〖第6题〗(练习题所在文件夹: 504) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun,函数的功能是: 计算并输出给定整数n的 所有因子之和(包括1与自身)。 规定n的值不大于1000。 例如: n的值为855时,应输出1560。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花 括号中填入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" intfun(intn) {/**********Program**********/ /**********End**********/ } main() {printf("s=%d\n",fun(855)); } 参考答案: ints=0,i; for(i=1;i<=n;i++) if(n%i==0)s=s+i; returns; 〖第11题〗(练习题所在文件夹: 525)! ? /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun,它的功能是: 求小于等于形参n同时 能被3与7整除的所有自然数之和的平方根,并作为 函数值返回。 例如: 输入100,输出14.491377 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" #include"math.h" doublefun(intn) { /**********Program**********/ /**********End**********/ } main() { intn; doublem; printf("输入一个数: "); scanf("%d",&n); m=fun(n); printf("和的平方根为: %lf\n",m); } 参考答案: doublesum=0.0; inti; for(i=1;i<=n;i++) if((i%3==0)&&(i%7==0))sum+=i; returnsqrt(sum); 〖第13题〗(练习题所在文件夹: 410) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun求sum=d+dd+ddd+ ……+dd...d(n个d), 其中d为1-9的数字。 例如3+33+333+3333+33333(此时d=3,n=5) ,d和n在主函数中输入。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" main() {intd,n; longsum,fun(); printf("d="); scanf("%d",&d); printf("n="); scanf("%d",&n); sum=fun(d,n); printf("sum=%ld\n",sum); getchar(); } longintfun(intd,intn) { /**********Program**********/ /**********End**********/ } 参考答案: ---------------------- longints=0,t=0; inti; for(i=1;i<=n;i++) {t=t+d; s=s+t; d=d*10; } returns; ---------------------- 〖第15题〗(练习题所在文件夹: 508) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun,函数的功能是: 求一个给定字符串中的数字字符的个数。 例如输入A123B456C789D323EF,程序运行结果: k=12。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" intfun(chars[]) { /**********Program**********/ /**********End**********/ } main() {charstr[]="d236kf3h48s5d67u! 634sad! "; intk; k=fun(str); printf("k=%d\n",k); } 参考答案: inti,k=0; for(i=0;s[i]! ='\0';i++) if(s[i]>='0'&&s[i]<='9') k++; returnk; 〖第16题〗(练习题所在文件夹: 487)? ? ? ? ? /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 产生15个[20,80]上的随机整数,用顺序法(比较法) 按从小到大排序后输出。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include #include voidfun(inta[],intn) {inti,j,t; /**********Program**********/ /**********End**********/ } #defineN15 main() {inti,a[N]; for(i=0;i a[i]=random(61)+20; fun(a,N); for(i=0;i printf("%5d",a[i]); printf("\n"); } 参考答案: for(i=0;i for(j=i+1;j if(a[i]>a[j]) {t=a[i]; a[i]=a[j]; a[j]=t; } 〖第18题〗(练习题所在文件夹: 42)? ? ? ? ? /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun,函数的功能是: 从字符串s中删除 指定的字符c。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" fun(chars[],charc) { inti,k=0; /**********Program**********/ /**********End**********/ } main() { staticcharstr[]="turbocandborlandc++"; charc='a'; fun(str,c); printf("str=%s\n",str); } 参考答案: ---------------------- for(i=0;s[i]! ='\0';i++) if(s[i]! =c)s[k++]=s[i]; s[k]='\0';? ? ---------------------- 〖第19题〗(练习题所在文件夹: 505)! ! ! /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun,函数的功能是: 求一个整数的各位数字的平方和。 若n=1234,则运行结果k=30。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花 括号中填入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" intfun(intn) {/**********Program**********/ /**********End**********/ } main() {intk; k=fun(1234); printf("k=%d\n",k); } 参考答案: intd,k,s=0; while(n>0) {d=n%10; s+=d*d; n/=10; } returns; 〖第22题〗(练习题所在文件夹: 325) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun其功能是: 判断一个整数w的各位 数字平方之和能否被5整除,可以被5整除则返 回1,否则返回0。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花 括号中填入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" #include"conio.h" intfun(intw) { /**********Program**********/ /**********End**********/ } main() {intm; printf("Enterm: "); scanf("%d",&m); printf("\nTheresultis%d\n",fun(m)); getch(); } 参考答案: ---------------------- intk,s=0; do {s=s+(w%10)*(w%10); w=w/10; }while(w! =0); if(s%5==0)k=1; elsek=0; return(k); ---------------------- 〖第23题〗(练习题所在文件夹: 506) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun,函数的功能是: 求一组数中大于平均值的数之和。 例如: 给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为190。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" intfun(inta[],intn) { /**********Program**********/ /**********End**********/ } main() { inta[10]={1,3,6,9,4,23,35,67,12,88}; inty; y=fun(a,10); printf("y=%d\n",y); getch(); } 参考答案: inti,sum=0; floatave=0; for(i=0;i ave+=a[i]; ave=ave/n; for(i=0;i if(a[i]>ave)sum+=a[i]; returnsum; 〖第24题〗(练习题所在文件夹: 317) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 从键盘为一维整型数组输入10个整数, 调用fun函数找出其中最小的数,并在 main函数中输出。 请编写fun函数。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main 和其它函数中的任何内容,仅在函数fun的花 括号中填入所编写的若干语句。 ------------------------------------------------*/ #include"stdio.h" intfun(intx[],intn) { /**********Program**********/ /**********End**********/ } main() { inta[10],i,min; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n"); min=fun(a,10); printf("%d\n",min); getch(); } 参考答案: ---------------------- intmin,i; min=x[0]; for(i=1;i {if(x[i] returnmin; ---------------------- 〖第31题〗(练习题所在文件夹: 22) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 从键盘为一维整
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计