2022年C语言程序填空题.docx

上传人:Che****ry 文档编号:27204015 上传时间:2022-07-23 格式:DOCX 页数:37 大小:126.07KB
返回 下载 相关 举报
2022年C语言程序填空题.docx_第1页
第1页 / 共37页
2022年C语言程序填空题.docx_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《2022年C语言程序填空题.docx》由会员分享,可在线阅读,更多相关《2022年C语言程序填空题.docx(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -导读:在程序填空题中,已经给出了程序的主干,读者第一要懂得程序的思路,再挑选正确的内容填入空白处,使程序fori=0 ;i10 ;i+ ;完成既定的功能;这类习题的设计就是要引导读者逐步把握编程的方法;本节习题的难度适中,可能有些典型的程序在scanf%d,&ai;课堂上已经有所接触,读者肯定要独立完成它,这样就可以逐步提高自己的编程才能;在程序设计语言学习的中期,读findmina,10,k;者对程序设计已经有了初步的明白,而自己编写程序又不知从何处入手,此时解答此类题目可以防止盲目性,从而提高printf

2、%d,%dn,*k,a*k学习的效率; 【3.1 】下面程序的功能是不用第三个变量,实现两个数的对调操作;【3.4 】下面程序的功能是运算1-3+5- 7+ -99+101的值;#include main main int i,t=1,s=0;fori=1 ;i=101 ;i+=2 int a,b; ;scanf%d%d,&a,&b;printfa=%d,b=%dn,a,b;s=s+t ;a= ; ; b= ;a= ;printf%dn,s;printfa=%d,b=%dn,a,b; 【3.5 】有以下程序段:s=1.0 ;【3.2 】下面程序的功能是依据近似公式:2/6 1/12+1/22+

3、1/32+ fork=1 ;k=n ;k+ 统计并输出最高成果和求 值;s=s+1.0/k*k+1;#include printf%fn,s;double pilong n 填空完成下述程序,使之与上述程序的功能完全相同; double s=0.0;s=0.0 ;long i ; ;fori=1 ;i=n ;i+ k=0 ;s=s+ ;do return ; s=s+d ; ;【3.3 】下面的程序的功能是求一维数组中的最小元素;d=1.0/k*k+1;findminint *s,int t,int *k while ; int p ;printf%fn,s;forp=0,*k=p;pt ;

4、p+ 【3.6 】下面程序的功能是从键盘上输入如干同学的学习成果,ifspamax amax=x;fori=1 ;i=9 ;i+ forj=0 ;j=9 ;j+ if amin=x;scanf%f,&x;if continue; else fork=0;k=9 ;k+ printfnamax=%fnamin=%fn,amax,amin;if count+; printf%d,count;【3.7 】下面程序的功能是将形参x 的值转换为二进制数,所得的二进制数放在一个一 维数组中返回,二进制数的最低位放在下标为0 的元素中;【3.10 】下面程序的功能是输出100 以内的个位数为6 、且能被 3

5、 整除的全部数;funint x,int b main int k=0,r; int i,j;do fori=0 ; ;i+ r=x% ; j=i*10+6;bk+=r;if countinue;x/= ;printf%d,j;whilex ; 【3.8 】下面程序的功能是输出1 到 100 之间每位数的乘积大于每位数的和的数;例【3.11 】下面程序的功能是用辗转相除法求两个正整数m 和 n 的最大公约数;如数字 26 ,数位上数字的乘积12 大于数字之和8 ;hcfint m,int n int r ;ifmn r=m ; ;n=r ; main int n,k=1,s=0,m;forn=

6、1 ;ns r=m%n; ; printf%d,n; 【3.12 】下面程序的功能是使用冒泡法对输入的10 个浮点数从小到大进行排序;排细心整理归纳 精选学习资料 【3.9 】下面程序的功能是统计用 - - - - - - - - - - - - - - -0 至 9 之间的不同的数字组成的三位数的个数;好序的 10 个数分两行输出;程序如下: 第 2 页,共 19 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -#include ;printfs=%dt count=%dn,s,count;main s 中的空格;

7、 ;【3.14 】下面程序的功能是删除字符串int i,j ;#include printfInput 10 numbers pleasenmain fori=0 ; ;i+ ;n ; char *s=Beijing ligong daxue;s 中全部的字符 c 删除;请挑选填空;scanf%f, &ai;int i,j;printfn;fori=j=0;si.=0;i+ fori=2 ; ;i+ ifsi.= ;forj=0 ; ;j+ else ;if sj= 0; x=aj ;printf%s,s; ; aj+1=x ;【3.15 】下面程序的功能是将字符串 #include prin

8、tfThe sorted 10 numbersmain fori=0 ; ;i+ 20 个整数,统计非负数个数,并运算非负数之和; char s80; if int i,j;printfn;getss ;printf%ft,ai;fori=j=0;si.= 0; i+ ifsi.= c ;printfn;sj= 0; putss ;【3.13 】下面程序的功能是读入 #include stdio.h main 【3.16 】下面程序的功能是输出两个字符串中对应相等的字符;请挑选填空; 第 3 页,共 19 页 #include int i,a20,s,count;char x=programm

9、ing;s=count=0;fori=0 ;i20 ;i+ char y=Fortran;scanf%d, ;main int i=0;fori=0 ;i20 ;i+ whilexi.= 0 & yi.= 0 ifai0 ;ifxi=yi s+=ai ;printf%c, ;else count+;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - -i+ ; - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - int i,j;【3.17 】下面程序的功能是将字符串s 中的每个字符按升序的规

10、章插到数组a 中, 字fori=j=0;si.= 0; i+ 符串 a 已排好序;#include main switch si case n: t = ;tj+ = n; char a20=cehiknqtw;break ;char s=fbla;case t: t = ;int i,k,j;tj+ = t;fork=0 ;sk.= 0;k+ break ; j=0 ;whilesk=aj & aj.= 0 j+ ;for ;aj=sk ; putsa ; 【3.18 】下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串default: t = si ;break ; tj

11、= ; 【3.20 】下面的函数indexchar s, char t检查字符串s 中是否包含字符串t ,如包含,就返回t 在 s 中的开头位置(下标值),否就送回-1 ;indexchar s, char t int i,j,k;fori=0 ;si.= 0; i+ 中第一个不相同字符的ASCII码之差;例如:输入的两个字符串分别为abcdefg 和 forj=i,k=0; & sj=tk;j+,k+ ;abceef ,就输出为 -1 ;#include main if return i; char str1100,str2100,c;return-1;int i,s ; n printfE

12、nter string 1: ; getsstr1;printfEnter string 2: ; getsstr2;【3.21 】下面程序的功能是运算S= k. ;i=0 ;k=0 long funint n int i ;long s ;fori=1 ;i ;i+ s*=i ;whilestr1i = str2i & str1i.= i+ ;s= ;printf%dn, s; 【3.19 】下面的函数expand在将字符串s 复制到字符串t 时, 将其中的换行符和return ;制表符转换为可见的转义字符表示,即用n 表示换行符,用t 表示制表符; 细心整理归纳 精选学习资料 expand

13、char s,char t - - - - - - - - - - - - - - -main 第 4 页,共 19 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - int k,n;if & pow3n,x=pow3n,min-x long s ; printfx=%d,y=%dn, x, min-x ;scanf%d,&n; ; s= ;fork=0 ;k=n ; k+ s+= ;【3.24 】下面的程序是用递归算法求a 的平方根;求平方根的迭代公式如下:printf%ldn,s;#include double

14、mysqrt double a, double x0 【3.22 】下面程序的功能是显示具有n 个元素的数组s 中的最大元素;#define N 20 main double x1, y;x1 = ;if fabsx1-x00.00001 int i,aN;fori=0 ;iN ;i+ y = mysqrt ;scanf%d,&ai;else y = x1;printf%dn, ;return y ; fmaxint s,int n main int k,p; double x;forp=0,k=p;psk ;scanf%lf, &x;returnk;printfThe sqrt of %lf

15、=%lfn, x, mysqrt x, 1.0 ; 【3.23 】下面程序的功能是由键盘输入n,求满意下述条件的x 、y:【3.25 】以下程序是运算同学的年龄;已知第一位最小的同学年龄为10 岁,其余学nx 和 ny 的末 3 位数字相同,且x y ,x、y、n 均为自然数,并使x+y 为最小;#include pow3int n,int x 生的年龄一个比一个大2 岁,求第 5 个同学的年龄;#include age int n int c ; int i, last;forlast=1,i=1;i=x ; i+ last= ;returnlast;if n=1 c=10;else c=

16、; main returnc; int x,n,min,flag=1; main scanf%d, &n; int n=5;formin=2;flag ;min+ 细心整理归纳 精选学习资料 forx=1 ;xmin & flag - - - - - - - - - - - - - - -;x+ printfage:%dn, ; 第 5 页,共 19 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 时,可先用公式 1 进. . else return ;32768的整数按逆序输出;如输入12345 ,就输出【3.2

17、6 】下面的函数sumint n完成运算 1 n 的累加和; sumint n 【3.30 】用递归实现将输入小于 ifn=0 54321 ;printfdata errorn;#includestdio.h ifn=1 ;main else ; int n ; printfInput n : ;【3.27 】下面的函数是一个求阶乘的递归调用函数;scanf%d, ;factoint n rn ; if n = 1 ;printfn;else return ; r int m 【3.28 】组合问题,由组合的基本性质可知: printf%d, ;1 Cm,n=Cn-m,n m = ;2 Cm,

18、n+1=Cm,n+Cm-1,n if 公式 2是一个递归公式, 始终到满意C1,n=n为止;当 n2*m ;行简化,填写程序中的空白,使程序可以正确运行; #includestdio.h main ;【3.31 】输入 n 值,输出高度为n 的等边三角形;例如当n=4 时的图形如下:* 第 6 页,共 19 页 int m,n;* printfInput m,n=;* scanf%d%d, &m, &n;printfThe combination numbeers is %dn, combinm,n* #include void prt char c, int n combin int m,

19、int n int com; if n0 printf %c, c ;if n2*m m=n-m; ;if m=0 com=1; else ifm=1 ;else ; main returncom; int i, n; 【3.29 】以下函数是求一个字符串str 的长度;scanf%d, &n;for i=1 ; i2 invent ,n-2 ;double ydouble x, int n else ; if n=0 return0;【3.35 】从键盘上输入10 个整数,程序按降序完成从大到小的排序;else return sqrtx+ ;#include int array10;【3.3

20、3 】函数 revstrs 将字符串 s 置逆, 如输入的实参sort int *p, int *q 时 s 为字符串 edcba ;递归程序如下: int *max, *s;revstr char *s if char *p=s, c;return;while*p p+;max=p ; for s=p+1; s *max ifsp ; swap ; c=*s ;sort ; *s=*p ;swap int *x, int *y int temp; ;temp=*x;revstrs+1;*x=*y ; ;*y=temp; main 如下是由非递归实现的revstrs函数: int i ; pr

21、intfEnter data :n; for i=0 ; i10 ; i+ revstr s scanf%d, &arrayi; sort ;char *s;printfOutput:; char *p=s, c;for i=0 ; i10 ; i+ while *p p+;printf%d , arrayi; ; while sp 【3.36 】下面函数的功能是将一个整数存放到一个数组中;存放时按逆序存放;例如: c=*s ;483 存放成 384 ; = *p ;#include *p- = c;void convertchar *a, int n int i ;细心整理归纳 精选学习资料

22、 - - - - - - - - - - - - - - -ifi=n/10 .=0 第 7 页,共 19 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -convert , i ;fori=0 ;i3 ;i+ forj=0 ;j4 ;j+ *a = ; printf%4d , ;char str10= ; 【3.39 】下面程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输 出该字符串;#include main main int number;scanf%d, &number;convert str,

23、 number ;putsstr; 【3.37 】下面程序的功能是实现数组元素中值的逆转;#include main char str81, *sptr;int i ;fori=0 ;i80 ;i+ stri=getchar ; int i,n=10,a10=1,2,3,4,5,6,7,8,9,10;ifstri= n break;inverta,n-1; fori=0 ;iwp ;fori=*n;i=p ; i- ;wp=x ;+*n ; 【3.41 】下面程序的功能是从键盘上输入两个字符串,对两个字符串分别排序;然后【3.38 】下面程序通过指向整型的指针将数组a34 的内容按行 列的格式

24、输将它们合并,合并后的字符串按ASCII 码值从小到大排序,并删去相同的字符;出,请给 printf 填入适当的参数,使之通过指针p 将数组元素按要求输出;#include #include strmergea,b, c /* 将已排好序的字符串a、b 合并到 c */ int a34=1,2,3,4,5,6,7,8,9,10,11,12, *p=a;char *a,*b ,*c ;main 细心整理归纳 精选学习资料 int i,j; - - - - - - - - - - - - - - - char t,*w ;w=c ; 第 8 页,共 19 页 - - - - - - - - - 名

25、师归纳总结 精品学习资料 - - - - - - - - - - - - - - -while *a.= 0 *b.=0 t */ 【3.42 】已知某数列前两项为2 和 3,其后继项依据前面最终两项的乘积,按以下规 t= .*a+:*b*a . *b+ : ; /* 将*a 、*b 的小者存入就生成:if *w 0 *w=t; 如乘积为一位数,就该乘积即为数列的后继项;else if t *w *+w=t; /* 将与 *w 不相同的t 存入 w */ 如乘积为二位数, 就该乘积的十位上的数字和个位上的数字依次作为数列的两个后 继项;while *a .= 0 /* 以下将 a 或 b 中剩

26、下的字符存入w */ 下面的程序输出该数列的前项及它们的和,其中,函数 sumn,pa 返回数列的前Nif *a .= *w *+w=*a+;项和,并将生成的前N 项存入首指针为pa 的数组中,程序中规定输入的N 值必需大else a+ ;于 2 ,且不超过给定的常数值MAXNUM;while *b .= 0 例如:如输入的值为10 ,就程序输出如下内容:if *b .= *w *+w=*b+;sum10=44 else b+ ;2 3 6 1 8 8 6 4 2 4 *+w = ;#include stdio.h #define MAXNUM 100 strsort char *s /* 将

27、字符串 s 中的字符排序*/ int sumn, pa int i , j,n ;int n, *pa;char t ,*w ; int count, total, temp; ;*pa = 2 ;for n=0 ;*w .= 0; =3 ;w+ ;total=5;for i=0 ;in-1 ;i+ count=2;for j=i+1;jn ; j+ while count+sj temp = *pa-1 * *pa; if temp10 total += temp;main *+pa = temp; char s1100,s2100 ,s3200 ; printfnPlease Input

28、First String:;else scanf%s, s1 ; = temp/10;printfnPlease Input Second String:;total += *pa;scanf%s, s2 ;if countn strsorts1; count +; pa+ ;strsorts2; = temp%10; = 0 ;total += *pa;strmerges1,s2 ,s3 ; printfnResult:%s,s3 ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 名师归纳

29、总结 精品学习资料 - - - - - - - - - - - - - - - ;.; . stu = 3,liming,89.3 ,main . 4 , zhanghua,78.2 , int n, *p, *q, numMAXNUM;. 1 , anli ,95.1 ,do . 2 , wangqi ,90.6 printfInput N=. 2N%d:, MAXNUM+1;scanf%d, &n;.main while ;. char str10;printfnsum%d=%dn, n, sumn, num;. int i ;for p=num, q = ; pq ; p+ . do p

30、rintf%4d, *p; printfEnter a name;printfn;. scanf%s, str ; . for i=0;iNUM ;i+ 【3.43 】下面程序的功能是输入同学的姓名和成果,然后输出;. if #include . printfName :%8sn, stui.namestruct stuinf . printfRank :%3dn,stui.rank; char name20; /* 同学姓名*/ . printfAverage :%5.1fn,stui.scoreint score; /* 同学成果*/ . ; stu, *p;. main . if i=NUM printfNot foundn; p=&stu;. while strcmpstr,0.=0 ;printfEnter name:;. gets ;printfEnter score: ;【3.45 】下面程序的功能是从终端上输入个人的年龄、性别 第 10 页,共 19

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁