天津城建大学C语言程序填空

上传人:1** 文档编号:359735 上传时间:2018-06-28 格式:DOCX 页数:130 大小:70.13KB
返回 下载 相关 举报
天津城建大学C语言程序填空_第1页
第1页 / 共130页
天津城建大学C语言程序填空_第2页
第2页 / 共130页
天津城建大学C语言程序填空_第3页
第3页 / 共130页
点击查看更多>>
资源描述
程序填空功能:计算平均成绩并统计 90 分以上人数。输入负分数时程序结束int n;/*总人数*/int m;/*90 分以上人数*/float grade,average;/*SPACE*/average=n=m=0;while(1)/*SPACE*/scanf(%f,if(grade=0;i-)printf(%d ,bbi);功能:把字符串中所有的字母改写成该字母的下一个字母,最后 一个字母 z 改写成字母 a。大字母仍为大写字母,小写字母仍为小写字母,其它的字符不变。例如:原有的字符串为:“Mn.123xyZ” ,处理后,串中的内容为:“No.123yzA” 。/*SPACE*/s=a; while(*s)if(*s=z)*s=a;else if(*s=Z)*s=A;else if(isalpha(*s) /*isalpha 函数的功能为判断一个字符是否是字母*/*SPACE*/ *s+=1; /*SPACE*/s+; 以下 C 程序将磁盘中的一个文件复制到另一个文件中,两个文件名已在程序中给出(假定文件名无误) 。请填空。#includevoid main()FILE *f1,*f2;f1=fopen(file_a.dat,r);f2=fopen(file_b.dat,w);/*SPACE*/while feof(f1)/*SPACE*/fputc(fgetc(f1),f2);/*SPACE*/fclose(f1);fclose(f2);-功能:当输入“2,5”的时候输出为“2 5 5”-*/#include #define max 100main()int fmax,i,j,k,m;scanf(%d,%d,/*SPACE*/ for(i=0;imain()float x0,x1,x2,fx0,fx1,fx2;doprintf(Enter x1scanf(%f,%f,fx1=x1*(2*x1-4)*x1+3)-6;fx2=x2*(2*x2-4)*x2+3)-6;/*SPACE*/ while (fx1*fx2【?】); dox0=(x1+x2)/2;fx0=x0*(2*x0-4)*x0+3)-6;/*SPACE*/if(fx0*fx1【?】) x2=x0;fx2=fx0; elsex1=x0;fx1=fx0;/*SPACE*/while(【? 】=1e-5); printf(x=%6.2fn,x0);答案:1). 02). main() int a,b;scanf(%d %d,printf(a=%d,b=%dn,a,b);/*SPACE*/a= 【?】 ; /*SPACE*/b= 【 ?】 ; /*SPACE*/a= 【?】 ; printf(a=%d,b=%dn,a,b); 答案:1). a + b2). a-b 或 a -b3). a-b 或 a -b第 4 题 (10.0 分) 题号:483/*-【程序填空】-功能:对数组 A 中的 N( 0 N100)个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组中元素的顺序,且相同的整数要具有相同的编号。例如:数组是: A=(5,3,4,7,3,5,6)则输出为:(3,1,2,5,1,3,4)-*/main() int i,j,k,n,m=1,r=1,a2100=0 ;printf(Please enter n:) ;scanf(%d,for(i=0 ; im2). break3). k=j第 5 题 (10.0 分) 题号:458/*-【程序填空】-功能:用等分法在有序的循环数组中,找到最小元素的位置。-*/int cyclic_min(int x, int n)int left = 0;int right = n - 1;int mid;/*SPACE*/while (【?】) mid = (left + right)/2;if (xmid void main(void)int x = 20, 23, 28, 35, 39, 40, 42, 8, 10, 15, 17, 19;int n = sizeof(x)/sizeof(int); int loc, i;printf(nFind Cyclic Minimum);printf(n=);printf(nnGiven Array Sorted in Cyclic Fashion :n);for (i = 0; i left2). right = mid3). left = mid + 1 或 left = 1+mid第 6 题 (10.0 分) 题号:34/*-【程序填空】-功能:以下程序的功能如(图 1)。#include #include /*SPACE*/float fun(【?】, int n) /*SPACE*/【?】 ; float xa=0, s; for (j=0; j/*SPACE*/#include 【?】main()float a,b,c,disc,x1,x2,realpart,imagpart;scanf(%f%f%f,printf(the equation);/*SPACE*/if(【? 】2). fabs(a)3). fabs(disc) 1e-6 或 1e-6 array;p-)/*SPACE*/*p=*(【? 】);*array=array_end;m-;if(m0) move(array,n,m);答案:1). number,n,m2). array,n,m3). array+n-1 或 array + n -14). p-1 或 p -1第 9 题 (10.0 分) 题号:15/*-【程序填空】-功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。-*/main()int x,i=0,j=0;float s1=0,s2=0,av1,av2;scanf(%d,/*SPACE*/while(【? 】)if(x%2=0) s1=s1+x;i+;/*SPACE*/【? 】s2=s2+x;j+;/*SPACE*/【? 】;if(i!=0) av1=s1/i;else av1=0;if(j!=0) /*SPACE*/【? 】 ;else av2=0;printf(oushujunzhi:%7.2f,jishujunzhi:%7.2fn,av1,av2);答案:1). x != 0 或 x2). else 或 else if(x%2=1) 或 else if(x%2!=0) 或 if(x%2)3). scanf(%d,&x) 4). av2=s2/j第 10 题 (10.0 分) 题号:456/*-【程序填空】-功能:利用指向结构的指针编写求某年、某月、某日是第几天的程序,其中年、月、日和年天数用结构表示。-*/main()/*SPACE*/【?】 dateint y,m,d,n;/*SPACE*/【?】;int k,f,a12=31,28,31,30,31,30,31,31,30,31,30,31;printf(date:y,m,d=);scanf(%d,%d,%d,f=x.y%4=0/*SPACE*/a1+=【? 】;if(x.m12|x.dax.m-1) exit(0);for(x.n=x.d,k=0;k#include #include #define N 81main( ) char aN,*s;printf ( Enter a string : );gets ( a );printf ( The original string is : );puts( a );/*SPACE*/【?】 ; while(*s)if(*s=z)*s=a;else if(*s=Z)*s=A;else if(isalpha(*s) /*SPACE*/ 【? 】; /*SPACE*/【? 】; printf ( The string after modified : );puts ( a );答案:1). s=a2). *s+=1 或 *s=*s+1 或 (*s)+ 或 +(*s)3). s+ 或 s=s+1 或 +s 或 s= s + 1第 12 题 (10.0 分) 题号:27/*-【程序填空】-功能:统计一个字符串中的字母、数字、空格和其它字符的个数。-*/#include stdio.hmain ()char s180;int a4=0;int k;/*SPACE*/【?】 ;gets(s1);/*SPACE*/【?】 ;puts(s1);for(k=0;k=0 & si=si 或 si=0 & 9=si 或 48=48 & si=si 或 si=48 & 57=si 或 !( x 57 ) 或 !( x 9 )4). si = 或 si = 32第 13 题 (10.0 分) 题号:452/*-【程序填空】-功能:从键盘输入若干行字符,输入后把他们存储到一磁盘文件中。在从该文件中读出这些数据,将其中的小写字母转换成大写字母后在屏幕上输出。-*/#include stdio.h#define N 100main()FILE *fp;char c,*p,sN20;int i,n;printf(n=);scanf(%d,/*SPACE*/if(nN) exit(0);printf(Input%d string:n,n);for(i=0;iaputchar(c);printf(n);fclose(fp);答案:1). |2). w3). *p+4). r第 14 题 (10.0 分) 题号:469/*-【程序填空】-功能:用递归法将一个整数 n 转换成字符串,例如输入 483,应输出对应的字符串483。n 的位数不确定,可以是任意位数的整数。-*/#include void convert(int n)int i;/*SPACE*/if(【 ?】)!=0) convert(i);/*SPACE*/putchar(n%10+【?】); main()int number;printf(nInput an integer:);scanf(%d,printf(Output:); if(number0) 或 while(0=k3). i!=k&j!=k 或 i != k & j != k4). z第 17 题 (10.0 分) 题号:447/*-【程序填空】-功能:已知一个数列,它的头两项分别是 0 和 1,从第三项开始以后的每项都是其前两项之和。编程打印此数,直到某项的值超过 200 为止。-*/main()int i,f1=0,f2=1;/*SPACE*/for(【? 】;i+)printf(5%d,f1);/*SPACE*/if(f1【?】) break;printf(5%d,f2);if(f2200) break;if(i%2=0) printf(n);f1+=f2;/*SPACE*/f2+=【?】;printf(n);答案:1). i=12). 2003). f1第 18 题 (10.0 分) 题号:486/*-【程序填空】-功能:删除字符串中的数字字符。例如:输入字符串:48CTYP9E6,则输出:CTYPE。-*/#include /*SPACE*/void fun (【? 】 ) char *p=s;while(*p)if(*p=0) /*SPACE*/else *s+=【?】; /*SPACE*/【? 】; main( )char item100 ;printf(nEnter a string: );gets(item); fun(item);printf(nThe string:%sn,item);答案:1). char *s 或 char s2). *p+3). *s=0 或 *s=0第 19 题 (10.0 分) 题号:448/*-【程序填空】-功能:已知 X、Y 、Z 分别表示 09 中不同的数字,编程求出使算式XXXX+YYYY+ZZZZ=YXXXZ 成立时 X、Y、Z 的值,并要求打印该算式。-*/main()int x,y,z;/*SPACE*/for(x=0;【?】;x+)for(y=0;yx2). |3). 10000*y 或 y*100004). 10000*y+1110*x+z 或 10000 * y + 1110 * x + z第 20 题 (10.0 分) 题号:416/*-【程序填空】-功能:计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。-*/#define M 5 /*定义符号常量 人数为 5*/#define N 4 /*定义符号常量 课程为 4*/#include stdio.hmain()int i,j;void aver(float scoM+1N+1);static float scoreM+1N+1=78,85,83,65, 88,91,89,93, 72,65,54,75,86,88,75,60,69,60,50,72;aver(score); clrscr();printf(学生编号 课程 1 课程 2 课程 3 课程 4 个人平均n);for(i=0;i#include #define MAXSIZE 100#define min(a,b) (a) );gets(line);n = atoi(line); num0 = 0;num1 = 1;for (i = 2; i = basej)MIN = min(numi-basej+1, MIN); /*SPACE*/【? 】; /*SPACE*/printf(nnMinimum = %d, 【?】); 答案:1). MIN = n2). numi = MIN3). numn第 22 题 (10.0 分) 题号:408/*-【程序填空】-功能:输入两个整数,求他们的按位与。-*/#includevoid main()int x,y,z=0,a,b,k=1;scanf(%d,%d,while(x0&y0)a=x%2;/*SPACE*/x=【?】;b=y%2;y=y/2;/*SPACE*/z=z+【? 】; k=k*2;/*SPACE*/【?】 (z=%dn,z);答案:1). x/22). a*b*k 或 a * b * k3). printf第 23 题 (10.0 分) 题号:406/*-【程序填空】-功能:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。-*/#include stdio.h#include main()FILE *fp;char str100;int i=0;/*SPACE*/if(fp=fopen(test,【? 】)=NULL)printf(cannot open the filen);exit(0);printf(please input a string:n);/*SPACE*/gets(【? 】);while(stri!=!)/*SPACE*/if(stri=a&【? 】)stri=stri-32;fputc(stri,fp); i+;/*SPACE*/fclose(【?】);fp=fopen(test,r);fgets(str,strlen(str)+1,fp);printf(%sn,str);fclose(fp);答案:1). w2). str3). stri=stri4). fp第 24 题 (10.0 分) 题号:479/*-【程序填空】-功能:十个小孩围成一圈分糖果,老师分给第一个小孩 10 块,第二个小孩 2 块,第三个小孩 8 块,第四个小孩 22 块,第五个小孩 16 块,第六个小孩 4 块,第七个小孩 10 块,第八个小孩6 块,第九个小孩 14 块,第十个小孩 20 块。然后所有的小孩同时将自己手中的糖分一半给左边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次调整后大家手中的糖的块数都一样?每人各有多少块糖?-*/main() int i,count=0,a11=0,10,2,8,22,16,4,10,6,14,20 ;/*SPACE*/while(【? 】) for(i=1 ; imain()int k,n,i,j;printf(Enter INT number,with 0 to endn);i=j=0;scanf(%d,while(n!=0)/*SPACE*/if(n0)i=【?】;/*SPACE*/if(n#define LEN sizeof(struct student)struct studentlong num;struct student *next;struct student *creat()struct student *head=NULL,*tail;long num;int a;/*SPACE*/tail=(【? 】)malloc(LEN); printf(please input daten);doscanf(%ld,/*SPACE*/if(【? 】) /*SPACE*/if(【? 】 ) head=tail; else tail=tail-next;tail-num=num;tail-next=(struct list *)malloc(LEN);else tail-next=NULL;while(num!=0);return(head) ;main()struct student *p;p=creat();printf(you input isn);while(p)printf(%dn,p-num);p=p-next;答案:1). struct student *2). num!=0 或 0!=num3). head = NULL第 27 题 (10.0 分) 题号:437/*-【程序填空】-功能:建立一个如下的二维数组,并按以下格式输出。1 0 0 0 10 1 0 1 00 0 1 0 00 1 0 1 01 0 0 0 1-*/#include stdio.hvoid main()int a55=0,*p5,i,j;for(i=0;i2). f=fabs( x + 1 )3). x=x 或 xx 或 x=0&x=0&5=x 或 0=x 或 !(x5)4). x,f第 30 题 (10.0 分) 题号:446/*-【程序填空】-功能:编程求某年第 n 天的日期。用数组表示月天数。-*/main()int y,m,f,n;int a12=31,28,31,30,31,30,31,31,30,31,30,31;printf(y,n=);scanf(%d,%d,/*SPACE*/f=y%4=0/*SPACE*/a1【?】f;if(n365+f)printf(error!n);exit(0);/*SPACE*/for(m=1;m【?】am-1;n-=am-1,m+);printf(y=%d,m=%d,d=%dn,y,m,n);答案: 1). |2). += 或 =a+3). 第 31 题 (10.0 分) 题号:481/*-【程序填空】-功能:一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再将第二次的商被 8 除后余 7 ,最后得到一个商为 a。又知这个自然数被 17 除余 4 ,所得的商被 17 除余 15,最后得到一个商是 a 的 2 倍。编写程序求这个自然数。-*/main( ) int i,n,a ;i=0 ;while(1)if(i%8=1) n=i/8 ;if(n%8=1)n=n/8 ;/*SPACE*/if(n%8=7) 【?】 ; if(i%17=4) n=i/17 ;if(n%17=15) n=n/17 ; if(2*a=n) printf(result=%dn,i) ;/*SPACE*/【? 】 ; /*SPACE*/【? 】; 答案:1). a=n/82). break3). i+ 或 +i 或 i=i+1第 32 题 (10.0 分) 题号:461/*-【程序填空】-功能:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。-*/ #include stdio.hmain()FILE *fp;char str100,filename10;int i=0;if(fp=fopen(test,w)=NULL)printf(cannot open the filen);exit(0);printf(please input a string:n);gets(str);/*SPACE*/while(【? 】) if(stri=a&strii 或 i=i3). str2i=str1i 或 *(str2+i)=*(str1+i) 或 *(str2+i)=str1i 或 str2i=*(str1+i) 4). str2n=0 或 str2i=0 或 str2n=0 或 str2i=0 或 *(str2+n)=0 或 *(str2+i)=0 或 *(str+n)=0 或 *(str2+i)=0第 34 题 (10.0 分) 题号:13/*-【程序填空】-功能:产生并输出杨辉三角的前七行。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1-*/main ( )int a77;int i,j,k;for (i=0;i=j 或 jj 或 j-1j-1第 35 题 (10.0 分) 题号:424/*-【程序填空】-功能:输出结果为:* * * * * * * * * * * * * * * * * -*/main()/*SPACE*/static char 【?】=*,*,*,*,*;int i,j,k;char space= ;for(i=0;ifun (char *substr,char *str) int i,j,k,num=0;for(i=0; stri; i+)for(j=i,k=0;substrk=strj;k+,j+)/*SPACE*/if(substr【?】=0) num+;/*SPACE*/【? 】 ; return num;main()char str80,substr80;printf(Input a string:) ;gets(str);printf(Input a substring:) ;gets(substr);/*SPACE*/printf(%dn,【? 】); 答案:1). k + 12). break3). fun(substr,str)第 37 题 (10.0 分) 题号:411/*-【程序填空】-功能:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1到 3 报数) ,凡报到 3 的人退出圈子,问最后留下的是原来第几号的那位。-*/#define nmax 50main()int i,k,m,n,numnmax,*p;printf(please input the total of numbers:);scanf(%d,p=num;/*SPACE*/for(i=0;【?】;i+)/*SPACE*/*(p+i)=【?】;i=0;k=0;m=0;while(mi2). i+1 或 i + 13). *(p+i) 或 *( p + i )4). *p=0 或 *p = 0第 38 题 (10.0 分) 题号:35/*-【程序填空】-功能:计算并输出 high 以内最大的 10 个素数之和,high 由主函数传给 fun 函数,若 high 的值为 100,则函数的值为 732。-*/#include #include #include int fun( int high ) int sum = 0, n=0, j, yes;/*SPACE*/while (high = 2) & (【?】) yes = 1;for (j=2; jn2). high%j = 0 或 !(high%j)3). return sum 或 return (sum)第 39 题 (10.0 分) 题号:28/*-【程序填空】-功能:将十进制数转换成十六进制数。-*/#include stdio.h#include string.hmain ()int a,i;char s20;printf(input a integer:n);scanf(%d,c10_16(s,a);/*SPACE*/for(【? 】;i=0;i-)printf(%c,si);printf(n);c10_16(char p,int b)int j,i=0;/*SPACE*/while (【?】)j=b%16;if(j=0&j0 或 01)/*SPACE*/f=【? 】;else f=1;return(f);main()int n;long y;printf(input a inteager number:n);/*SPACE*/scanf(%d,【?】);y=power(n);/*SPACE*/ printf(%d!=%ldn,n,【?】);getch();答案:1). power(n-1)*n 或 power( n - 1 ) * n 或 n*power(n-1)2). &n3). power(n) 或 y第 41 题 (10.0 分) 题号:454/*-【程序填空】-功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c).其中,s=(a+b+c)/2,a 、b、c 为三角形三条边的长。定义两个带参数的宏,一个用来求 s,另一个用来求 area。编写程序,在程序中用带参数的宏求面积 area。-*/#include math.h/*SPACE*/#【?】 S(x,y,z)(x+y+z)/2#define AREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z)main()float a,b,c,s,area;printf(a,b,c=);/*SPACE*/scanf(%f,%f,%f,if(a+bc&b+ca&c+ab)/*SPACE*/s=【? 】;/*SPACE*/area=【?】;printf(area=%fn,area);答案: 1). define2). &b3). S(a,b,c)4). AREA(s,a,b,c)第 42 题 (10.0 分) 题号:6/*-【程序填空】-功能:以下程序是用选择法对 10 个整数按升序排序。-*/*SPACE*/【?】main()int i,j,k,t,aN;for(i=0;ij 或 j=j4). k != i 第 43 题 (10.0 分) 题号:417/*-【程序填空】-功能:利用全局变量计算长方体的体积及三个面的面积。-*/int s1,s2,s3;int vs(int a,int b,int c)int v;/*SPACE*/v=【? 】;s1=a*b;/*SPACE*/ s2=【? 】;s3=a*c;return v;main()int v,l,w,h;clrscr();printf(ninput length,width and height: );/*SPACE*/scanf(%d%d%d,【? 】,/*SPACE*/v=【? 】;printf(v=%d s1=%d s2=%d s3=%dn,v,s1,s2,s3);getch();答案:1). a*b*c 或 a * b * c2). b*c 或 b * c 3). &l4). vs(l,w,h) 或 vs( l , w , h )第 44 题 (10.0 分) 题号:30/*-【程序填空】-功能:输入字符串,再输入一个字符,将字符
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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