2023年C语言程序填空题.pdf
《2023年C语言程序填空题.pdf》由会员分享,可在线阅读,更多相关《2023年C语言程序填空题.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include main()int a,b;scanf(%d%d,&a,&b);printf(a=%d,b
2、=%dn,a,b);a=;b=;a=;printf(a=%d,b=%dn,a,b);【3.2】下面程序的功能是根据近似公式:2/6 1/12+1/22+1/32+1/n2,求 值。#include double pi(long n)double s=0.0;long i;for(i=1;i=n;i+)s=s+;return();【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int*s,int t,int*k)int p;for(p=0,*k=p;pt;p+)if(sps*k);main()int a10,i,*k=&i;for(i=0;i10;i+)scanf(%d,&a
3、i);findmin(a,10,k);printf(%d,%dn,*k,a*k);【3.4】下面程序的功能是计算 1-3+5-7+-99+101 的值。main()int i,t=1,s=0;for(i=1;i=101;i+=2);s=s+t;printf(%dn,s);【3.5】有以下程序段:s=1.0;for(k=1;k=n;k+)s=s+1.0/(k*(k+1);printf(%fn,s);填空完成下述程序,使之与上述程序的功能完全相同。s=0.0;k=0;do s=s+d;d=1.0/(k*(k+1);while();printf(%fn,s);【3.6】下面程序的功能是从键盘上输入若
4、干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。main()float x,amax,amin;scanf(%f,&x);amax=x;amin=x;while()if(xamax)amax=x;if()amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);【3.7】下面程序的功能是将形参 x 的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为 0 的元素中。fun(int x,int b)int k=0,r;do r=x%;bk+=r;x/=;while(x);【3.8】下面程
5、序的功能是输出 1 到 100 之间每位数的乘积大于每位数的和的数。例如数字 26,数位上数字的乘积 12 大于数字之和 8。main()int n,k=1,s=0,m;for(n=1;ns)printf(%d,n);【3.9】下面程序的功能是统计用 0 至 9 之间的不同的数字组成的三位数的个数。main()int i,j,k,count=0;for(i=1;i=9;i+)for(j=0;j=9;j+)if()continue;else for(k=0;k=9;k+)if()count+;printf(%d,count);【3.10】下面程序的功能是输出 100 以内的个位数为 6、且能被
6、3 整除的所有数。main()int i,j;for(i=0;i+)j=i*10+6;if()countinue;printf(%d,j);【3.11】下面程序的功能是用辗转相除法求两个正整数 m 和 n 的最大公约数。hcf(int m,int n)int r;if(mn)r=m;n=r;r=m%n;while()m=n;n=r;r=m%n;【3.12】下面程序的功能是使用冒泡法对输入的 10 个浮点数从小到大进行排序。排好序的 10 个数分两行输出。程序如下:已经有所接触读者一定要独立完成它这样就可以逐步提高自己的编程能力在程序设计语言学习的中期读者对程序设计 面程序的功能是不用第三个变量
7、实现两个数的对调操下面程序的功能是根据近似公式求值下面的程序的功能是求一维 面程序的功能是从键盘上输入若干学生的学习成绩统计并输出最高成绩和最低成绩当输入为负数时结束输入下面程序#include main();int i,j;printf(Input 10 numbers pleasen);for(i=0;i+)scanf(%f,&ai);printf(n);for(i=2;i+)for(j=0;j+)if()x=aj;aj+1=x;printf(The sorted 10 numbers;n);for(i=0;i+)if()printf(n);printf(%ft,ai);printf(n)
8、;【3.13】下面程序的功能是读入 20 个整数,统计非负数个数,并计算非负数之和。#include stdio.h main()int i,a20,s,count;s=count=0;for(i=0;i20;i+)scanf(%d,);for(i=0;i20;i+)if(ai0);s+=ai;count+;printf(s=%dt count=%dn,s,count);【3.14】下面程序的功能是删除字符串 s 中的空格。#include main()char*s=Beijing ligong daxue;int i,j;for(i=j=0;si!=0;i+)if(si!=);else;sj
9、=0;printf(%s,s);【3.15】下面程序的功能是将字符串 s 中所有的字符 c 删除。请选择填空。#include main()char s80;int i,j;gets(s);for(i=j=0;si!=0;i+)if(si!=c);sj=0;puts(s);【3.16】下面程序的功能是输出两个字符串中对应相等的字符。请选择填空。#include char x=programming;char y=Fortran;main()int i=0;while(xi!=0&yi!=0)if(xi=yi)printf(%c,);else i+;已经有所接触读者一定要独立完成它这样就可以逐步
10、提高自己的编程能力在程序设计语言学习的中期读者对程序设计 面程序的功能是不用第三个变量实现两个数的对调操下面程序的功能是根据近似公式求值下面的程序的功能是求一维 面程序的功能是从键盘上输入若干学生的学习成绩统计并输出最高成绩和最低成绩当输入为负数时结束输入下面程序【3.17】下面程序的功能是将字符串 s 中的每个字符按升序的规则插到数组 a 中,字符串 a 已排好序。#include main()char a20=cehiknqtw;char s=fbla;int i,k,j;for(k=0;sk!=0;k+)j=0;while(sk=aj&aj!=0)j+;for();aj=sk;puts(
11、a);【3.18】下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的 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&str1i!=)i+;s=;printf(%dn,s);【3.19】下面的函数 expand 在将字符串 s 复制到字符串
12、 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=;【3.20】下面的函数 index(char s,char t)检查字符串 s 中是否包含字符串 t,若包含,则返回 t 在 s 中的开始位置(下标值),否则送回-1。index(char s,char t)int i,j,k;for(i=0;si!
13、=0;i+)for(j=i,k=0;&sj=tk;j+,k+);if()return(i);return(-1);n【3.21】下面程序的功能是计算 S=k!。k=0 long fun(int n)int i;long s;for(i=1;i;i+)s*=i;return();main()已经有所接触读者一定要独立完成它这样就可以逐步提高自己的编程能力在程序设计语言学习的中期读者对程序设计 面程序的功能是不用第三个变量实现两个数的对调操下面程序的功能是根据近似公式求值下面的程序的功能是求一维 面程序的功能是从键盘上输入若干学生的学习成绩统计并输出最高成绩和最低成绩当输入为负数时结束输入下面程序
14、 int k,n;long s;scanf(%d,&n);s=;for(k=0;k=n;k+)s+=;printf(%ldn,s);【3.22】下面程序的功能是显示具有 n 个元素的数组 s 中的最大元素。#define N 20 main()int i,aN;for(i=0;iN;i+)scanf(%d,&ai);printf(%dn,);fmax(int s,int n)int k,p;for(p=0,k=p;psk);return(k);【3.23】下面程序的功能是由键盘输入 n,求满足下述条件的 x、y:nx 和 ny 的末 3 位数字相同,且 xy,x、y、n 均为自然数,并使 x+
15、y 为最小。#include pow3(int n,int x)int i,last;for(last=1,i=1;i=x;i+)last=;return(last);main()int x,n,min,flag=1;scanf(%d,&n);for(min=2;flag;min+)for(x=1;xmin&flag;x+)if(&pow3(n,x)=pow3(n,min-x)printf(x=%d,y=%dn,x,min-x);【3.24】下面的程序是用递归算法求 a 的平方根。求平方根的迭代公式如下:#include double mysqrt(double a,double x0)dou
16、ble x1,y;x1=;if(fabs(x1-x0)0.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);【3.25】以下程序是计算学生的年龄。已知第一位最小的学生年龄为 10 岁,其余学生的年龄一个比一个大 2 岁,求第 5 个学生的年龄。#include age(int n)int c;if(n=1)c=10;else c=;return(c);main()int n=5;printf(a
17、ge:%dn,);已经有所接触读者一定要独立完成它这样就可以逐步提高自己的编程能力在程序设计语言学习的中期读者对程序设计 面程序的功能是不用第三个变量实现两个数的对调操下面程序的功能是根据近似公式求值下面的程序的功能是求一维 面程序的功能是从键盘上输入若干学生的学习成绩统计并输出最高成绩和最低成绩当输入为负数时结束输入下面程序【3.26】下面的函数 sum(int n)完成计算 1 n 的累加和。sum(int n)if(n=0)printf(data errorn);if(n=1);else;【3.27】下面的函数是一个求阶乘的递归调用函数。facto(int n)if(n=1);else
18、return();【3.28】组合问题,由组合的基本性质可知:(1)C(m,n)=C(n-m,n)(2)C(m,n+1)=C(m,n)+C(m-1,n)公式(2)是一个递归公式,一直到满足 C(1,n)=n 为止。当 n2*m 时,可先用公式(1)进行简化,填写程序中的空白,使程序可以正确运行。#includestdio.h main()int m,n;printf(Input m,n=);scanf(%d%d,&m,&n);printf(The combination numbeers is%dn,combin(m,n);combin(int m,int n)int com;if(n2*m)
19、m=n-m;if(m=0)com=1;else if(m=1);else;return(com);【3.29】下列函数是求一个字符串 str 的长度。int strlen(char*str)if()return(0);else return();【3.30】用递归实现将输入小于 32768 的整数按逆序输出。如输入 12345,则输出54321。#includestdio.h main()int n;printf(Input n:);scanf(%d,);r(n);printf(n);r(int m)printf(%d,);m=;if();【3.31】输入 n 值,输出高度为 n 的等边三角形
20、。例如当 n=4 时的图形如下:*#include void prt(char c,int n)if(n0)printf(%c,c);main()int i,n;scanf(%d,&n);for(i=1;i=n;i+);已经有所接触读者一定要独立完成它这样就可以逐步提高自己的编程能力在程序设计语言学习的中期读者对程序设计 面程序的功能是不用第三个变量实现两个数的对调操下面程序的功能是根据近似公式求值下面的程序的功能是求一维 面程序的功能是从键盘上输入若干学生的学习成绩统计并输出最高成绩和最低成绩当输入为负数时结束输入下面程序;printf(n);【3.32】下面的函数实现 N 层嵌套平方根的计
21、算。double y(double x,int n)if(n=0)return(0);else return(sqrt(x+();【3.33】函数 revstr(s)将字符串 s 置逆,如输入的实参 s 为字符串 abcde,则返回时 s 为字符串 edcba。递归程序如下:revstr(char*s)char*p=s,c;while(*p)p+;if(sp)c=*s;*s=*p;revstr(s+1);如下是由非递归实现的 revstr(s)函数:revstr(s)char*s;char*p=s,c;while(*p)p+;while(s2)invent(,n-2);else;【3.35】从
22、键盘上输入 10 个整数,程序按降序完成从大到小的排序。#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;i10;i+)scanf(%d,&arrayi);sort();printf(Output:);for(i=0;i10;i+)printf(%d,arrayi);【3.36
23、】下面函数的功能是将一个整数存放到一个数组中。存放时按逆序存放。例如:483 存放成 384。#include void convert(char*a,int n)int i;if(i=n/10)!=0)已经有所接触读者一定要独立完成它这样就可以逐步提高自己的编程能力在程序设计语言学习的中期读者对程序设计 面程序的功能是不用第三个变量实现两个数的对调操下面程序的功能是根据近似公式求值下面的程序的功能是求一维 面程序的功能是从键盘上输入若干学生的学习成绩统计并输出最高成绩和最低成绩当输入为负数时结束输入下面程序convert(,i);*a=;char str10=;main()int numbe
24、r;scanf(%d,&number);convert(str,number);puts(str);【3.37】下面程序的功能是实现数组元素中值的逆转。#include main()int i,n=10,a10=1,2,3,4,5,6,7,8,9,10;invert(a,n-1);for(i=0;i10;i+)printf(%4d,ai);printf(n);invert(int*s,int num)int*t,k;t=s+num;while()k=*s;*s=*t;*t=k;【3.38】下面程序通过指向整型的指针将数组 a34 的内容按行列的格式输出,请给 printf()填入适当的参数,使
25、之通过指针 p 将数组元素按要求输出。#include int a34=1,2,3,4,5,6,7,8,9,10,11,12,*p=a;main()int i,j;for(i=0;i3;i+)for(j=0;j4;j+)printf(%4d,);【3.39】下面程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。#include main()char str81,*sptr;int i;for(i=0;iwp);for(i=*n;i=p;i-);wp=x;+*n;【3.41】下面程序的功能是从键盘上输入两个字符串,对两个字符串分别排序;然后将它们合并,合并后的字符串按 A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 语言 程序 填空
限制150内