(完整word版)C语言程序设计填空题及答案复习用.docx
《(完整word版)C语言程序设计填空题及答案复习用.docx》由会员分享,可在线阅读,更多相关《(完整word版)C语言程序设计填空题及答案复习用.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(完整word版)C语言程序设计填空题及答案复习用 . 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() int a,b; scan
2、f(%d%d,&a,&b); printf(a=%d,b=%dn,a,b); a= ; b= ; a= ; printf(a=%d,b=%dn,a,b); 下面程序的功能是根据近似公式:2/6 1/12+1/22+1/32+ +1/n2,求值。 #include double pi(long n) double s=0.0; long i; for(i=1;i0?t=-1:1; printf(%dn,s); 有以下程序段: s=1.0; for(k=1;kamax) amax=x; if( ) amin=x; scanf(%f,&x); printf(namax=%fnamin=%fn,ama
3、x,amin); 下面程序的功能是将形参x的值转换为二进制数, 所得的二进制数放在一个一维数组中返回,二进制数的 最低位放在下标为0的元素中。 fun(int x,int b) int k=0,r; do r=x% ; bk+=r; x/= ; while(x); 下面程序的功能是输出1到100之间每位数的乘 积大于每位数的和的数。例如数字26,数位上数字的乘 积12大于数字之和8。 main() . int n,k=1,s=0,m; for(n=1;ns) printf(%d,n); 下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。 main() int i,j,k,coun
4、t=0; for(i=1;i=aj & aj!= 0 ) j+; for( ) ; aj=sk; puts(a); 下面程序的功能是对键盘输入的两个字符串进行 比较,然后输出两个字符串中第一个不相同字符的ASCII 码之差。例如:输入的两个字符串分别为abcdefg和 abceef,则输出为-1。 #include main() char str1100,str2100,c; int i,s; printf(Enter string 1: );gets(str1); printf(Enter string 2: );gets(str2); i=0; while(str1i = str2i &
5、str1i!= ) i+; s= ; printf(%dn, s); 下面的函数expand在将字符串s复制到字符串 t时,将其中的换行符和制表符转换为可见的转义字符 表示,即用n表示换行符,用t表示制表符。 expand(char s,char t) int i,j; for(i=j=0;si!= 0;i+ ) switch (si) case n: t = ; tj+ = n; break; case t: t = ; tj+ = t; break; default: t = si; break; tj = ; 下面的函数index(char s, char t)检查字符串s 中是否包含字
6、符串t,若包含,则返回t在s中的开始位 置(下标值),否则送回-1。 index(char s, char t) int i,j,k; for(i=0;si!= 0;i+ ) for(j=i,k=0;& sj=tk;j+,k+) ; if( ) return (i); return(-1); n 下面程序的功能是计算S= k! 。 k=0 long fun(int n) . int i; long s; for(i=1;i ;i+) s*=i; return( ); main() int k,n; long s; scanf(%d,&n); s= ; for(k=0;ksk) ; return
7、(k); 下面程序的功能是由键盘输入n,求满足下述条件的x、y: nx和ny的末3位数字相同,且xy,x、y、n均为自然数,并使x+y为最小。 #include pow3(int n,int x) int i, last; for(last=1,i=1;i0.00001 ) y = mysqrt( ); else y = x1; return( y ); main() double x; printf(Enter x: ); scanf(%lf, &x); printf(The sqrt of %lf=%lfn, x, mysqrt( x, 1.0) ); 以下程序是计算学生的年龄。已知第一位
8、最小的 学生年龄为10岁,其余学生的年龄一个比一个大2岁, 求第5个学生的年龄。 #include age( int n ) int c; if( n=1 ) c=10; else c= ; return(c); main() int n=5; printf(age:%dn, ); 下面的函数sum(int n)完成计算1n的累加和。 sum(int n) if(n0 ) printf( %c, c ); ; main() int i, n; scanf(%d, &n); for( i=1;i2 ) invent ( ,n-2); else ; 从键盘上输入10个整数,程序按降序完成从大到小的
9、排序。 #include int array10; sort( int *p, int *q ) int *max, *s; if( ) return; max=p;for( s=p+1;s *max ) ;swap( ); sort( ); swap( int *x, int *y ) int temp; temp=*x; *x=*y; *y=temp; main() int i;printf(Enter data :n);for( i=0;iwp) ; . for(i=*n;i=p;i-) ; wp=x; +*n; 下面程序的功能是从键盘上输入两个字符串,对两个字符串分别排序;然后将它们合
10、并,合并后的字符串按ASCII码值从小到大排序,并删去相同的字符。 #include strmerge(a,b,c) /* 将已排好序的字符串a、b合并到c */ char *a,*b,*c; char t,*w; w=c; while( *a!= 0 *b!=0 ) t= ?*a+:*bsj ) main( ) char s1100,s2100,s3200; printf(nPlease Input First String:); scanf(%s,s1); printf(nPlease Input Second String:); scanf(%s,s2); strsort(s1); st
11、rsort(s2); = 0; strmerge(s1,s2,s3); printf(nResult:%s,s3); 已知某数列前两项为2和3,其后继项根据前面 最后两项的乘积,按下列规则生成: 若乘积为一位数,则该乘积即为数列的后继项; 若乘积为二位数,则该乘积的十位上的数字和个位上 的数字依次作为数列的两个后继项。 下面的程序输出该数列的前项及它们的和,其中,函 数sum(n,pa) 返回数列的前N项和,并将生成的前N项 存入首指针为pa的数组中,程序中规定输入的N值必 须大于2,且不超过给定的常数值MAXNUM。 例如:若输入的值为10,则程序输出如下内容: sum(10)=44 2 3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 语言程序设计 填空 答案 复习
限制150内