《程序填空题.pdf》由会员分享,可在线阅读,更多相关《程序填空题.pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个#为止。#include main()FILE*fp;char ch,filename10;scanf(%s,filename);/*用户输入存在磁盘上的文件名*/if(fp=(filename,w)=NULL)printf(cannot open filen);exit(0);while(ch=getchar()!=#);fclose(fp);2下列程序的功能是输出一个整数x 的绝对值。将程序补充完整,填在空内。#include main()int x,;scanf(%d,&x);y=;printf(%d
2、n,y);3下列程序的功能是输出1100 之间能被 7 整除的所有整数。将程序补充完整,填在空内。1main()int i;for(i=1;i+)if(i%7);printf(%d,i);4以下程序用以删除字符串中所有的空格,请填空。main()char s100=Our teacher teach C language!;int i,j;for(i=j=0;si!=0;i+)if(si!=);j+;sj=;printf(%sn,s);5结构体数组中存有三个人的姓名和年龄,以下函数fun 的功能是输出三人中最年长者的姓名和年龄。struct man char name20;int age;pe
3、rson=Mary,16,Tom,21,Jim,18;void fun(person )int i,old=0;for(i=0;i2;i+)if(personold.agepersoni.age);printf(%s%d,personold.name,personold.age);6程序实现当输入的字符为小写字母时,输出对应的大写字母。#include main()2 char ch1,ch2;printf(请输入一个小写字符:);scanf(%c,&ch1);if()ch2=ch1-;printf(%c,ch2);elseprintf(输入出错!);7求 1!+2!+3!+10!。将程序补充
4、完整,填在空内。#include main()float s=0,t=1;int n;for(n=1;n+)t*=n;printf(1!+2!+3!+.+10!=%.0f,s);8下面的程序是使输入的一个字符串按反序存放,在主函数中输入和输出字符串。#include main()3int inverse(char str);char str100;printf(Input String:);scanf(%s,str);printf(Inverse string:%s,str);int inverse(char str)9下列程序的功能是实现两个变量x 和 y 的值的交换。main()int =
5、10,y=20;x+=y;y=x-y;printf(n%d,%d,x,y);10下面程序的功能是输出两个字符串中对应相等的字符。#include main()int i=0;char x=programming;char y=Fortran;while()4char t;int i,j;for(i=0,j=strlen(str);i+,j-)t=stri;stri=strj-1;strj-1=t;if(xi=yi)putchar(xi);11以下函数用来在 w 数组中插入 x。n 所指向的存储单元中存放w 数组中字符个数。数组w 中的字符已按从小到大的顺序排列,插入后数组w 中的字符仍有序。v
6、oid fun(char*w,char x,int*n)int i,p;p=0;w*n=x;while(xwp)p+;for(i=*n-1;i=p;i-);wp=x;12以下程序用来判断指定文本文件“”是否能正常打开,请填空#include main()fp;if(fp=fopen(,r)=)printf(未能打开文件!n);else printf(文件打开成功!n);fclose(fp);13以下程序的功能是计算:s=1+12+123+1234+12345。请填空。5 main()int t=0,i;for(i=1;i=5;i+)t=i+;s=s+t;printf(s=%dn,s);14下面
7、程序的功能是输出以下形式的金字塔图案,请填空。*main()int i,j;for(i=1;i=4;i+)for(j=1;j=;j+)printf(“”);for(j=1;j=;j+)printf(“*”);printf(“n”);15函数 fun 的功能是将 s 所指字符串中的所有非数字字符移到所有数字字符之后,并保持数字字符和非数字字符原有的先后次序。#include void fun(char*s)int i,j=0,k=0;char t180,t280;for(i=0;si!=0;i+)if(si=0&si=9)6 t1j=si;j+;else ;k+;t2k+=0;for(i=0;i
8、j;i+)si=t1i;for(i=0;i=0;-i)d=ci;printf(%c,bd);19下列程序的功能是将数组a 的元素按行求和并存储到数组s 中。main()int a34,s3=0;int i,j;for(i=0;i3;i+)8 for(j=0;j4;j+)scanf(%d,);for(i=0;i3;i+)for(j=0;j4;j+);printf(%dn,si);20以下函数把 b 字符串连接到 a 字符串的后面,并返回a 中新串的长度。int strcat(char a,char b)int num=0,n=0;while()num+;while(bn!=0);num+;n+;
9、anum=0;return(num);21以下程序的功能是:输出 a、b、c 三个变量中的最小值,请填空。main()int a,b,c,t1,;scanf(%d%d%d,&a,&b,&c);t1=aba:b;t2=;printf(%dn,t2);922根据以下函数关系,对输入的x 值,计算出相应的y 值,设x 和 y 都是整数。将程序补充完整,填在空内。xy 10 xx220 x 11 x 22 x 10main()int x,y;scanf(%d,&x);if(x=1)y=x;else if()y=10*x;else if()y=x*x+20;else y=-1;if(y!=-1)prin
10、tf(%dn,y);else printf(errorn);23 以下程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到a 数组中,然后输出。请填空。main()int x10,a9,i;printf(“往数组 x 中读入 10 个整数:”);for(i=0;i10;i+)scanf(%d,);for(i=1;i10;i+)ai-1=xi+;for(i=0;i9;i+)printf(%d,ai);10printf(n);24 以下程序中函数 fun 的功能是:统计 person 所指结构体数组中所有性别(sex)为 M 的记录的个数,存入变量 n 中,并作为函数值返回。请填空:#inc
11、lude#define N 3 typedef struct int num;char nam10;char sex;SS;int fun(SS person)int i,n=0;for(i=0;iN;i+)if(=M)n+;return n;25下列程序的功能是将值为三位正整数的变量x 中的数值按照个位、十位、百位的顺序拆分并输出。将程序补充完整,填在空内。#include main()int =123;printf(%d,%d,%dn,x/10%10,x/100);26根据以下函数关系,对输入的x 值,计算出相应的 y 值。10 xy 55x20 x 00 x 1010 x 2020 x
12、50main()int x,c;float y;11 scanf(%d,&x);if()c=-1;else c=x/10;switch(c)case-1:y=-10;break;case 0:y=x;break;case 1:y=5;break;case 2:case 3:case 4:_;break;default:y=-2;if(y!=-2)printf(y=%fn,y);else printf(errorn);main()SS WN=1,AA,F,2,BB,M,3,CC,M;int n;n=;printf(n=%dn,n);27 以下程序统计从终端输入的字符中大写字母的个数,num0中统
13、计字母 A 的个数,num1中统计字母 B 的个数,其它依次类推.用#号结束输入,请填空。#include main()int num26=0,i;char c;while(c=)!=#)if()numc-A+=1;for(i=0;i26;i+)printf(%c:%dn,i+A,num);1228人员记录由编号和出生年、月、日组成,N 名人员的数据已存入结构体数组std 且编号唯一。函数 fun 的功能是找出指定编号为 num 的人员的数据,返回找到的数据在数组中的下标,若指定编号不存在,返回-1。#include#include#define N 8typedef struct char
14、num10;int year,month,day;STU;int fun(STU std,char num)int i;for(i=0;iN;i+)if(strcmp(,num)=0)return i;return -1;29下列程序的功能是输出一个整数x 的绝对值。将程序补充完整,填在空内。#include main()int x,;scanf(%d,&x);y=;printf(%dn,y);30 以下程序的功能是输入任意整数给n 后,输出 n 行由大写字母 A 开始构成的三角形字符阵列图形。例如,输入整数5 时(注意:n 不得大于 10),程序运行结果如下:A B C D E13F G H
15、 IJ K LM NO请填空完成该程序。main()int i,j,n;char ch=A;scanf(d,&n);if(n11)for(i=1;i=n;i+)for(j=1;j=n-i+1;j+)printf(2c,ch);else printf(n is too large!n)printf(n);31 函数 fun 的功能是将正整数 n 的各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数 x,并返回。例如:n=1234,则 x=13。#include unsigned long fun(unsigned long n)unsigned long x=0,i=1;int
16、 t;while(n)14 t=n%;if(t%2!=0)x=x+t*i;i=i*10;n=;return x;32以下程序的功能是将文件的内容复制到中,请填空。#includemain()FILE*fp1,*fp2;char str81;fp1=fopen(,r);fp2=fopen(,w);while(!feof(fp1)fgets(str,81,fp1);fputs();fclose(fp1);33下列程序的功能是实现两个变量x 和 y 的值的交换。将程序补充完整,填在空内。main()int x=10,=20;x+=y;y=x-y;15printf(n%d,%d,x,y);34有以下程
17、序段,且变量已正确定义和赋值for(s=,k=1;k=n;k+)s=s+(k*(k+1);printf(s=%fnn,s);请填空,使下面程序段的功能为完全相同s=;k=1;while()s=s+1.0/(k*(k+1);printf(s=%fnn,s);35下面 rotate 函数的功能是:将 n 行 n 列的矩阵 A 转置为 A,请填空。#define N 4void rotate(int aN)int i,j,t;for(i=0;iN;i+)for(j=0;j+)t=aij;;aji=t;36 函数 fun 的功能是将存放在结构体数组中的学生数据按照姓名字典序(从小到大)排序。请在下划线
18、处填入正确的内容使函数完整。#include#include struct student long sno;/*学号*/16 char name10;/*姓名*/float score3;/*3门课成绩*/;void fun(struct student a,int n)t;int i,j;for(i=0;in-1;i+)for(j=i+1;j 0)t=ai;ai=aj;aj=t;37下列程序的功能是把从键盘输入的字符输出。将程序补充完整,填在空内。#include main()char ;ch=;printf(%cn,ch);38下面程序的功能是:输出 100 以内能被 3 整除且个位数为
19、 6 的所有正整数。将程序补充完整,填在空内。#include main()int i,j;for(i=0;i+)j=i*10+6;if()continue;printf(%d,j);17 39下面程序的功能是检查一个NN 矩阵是否对称(即判断是否所有的aij等于aji)。请填空。#define N 4main()int aNN=1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4;int i,j,found=0;for(i=0;iN;i+)for(j=0;j+)if(aij!=aji);break;if(found)printf(No);else printf(Yes);40下面程序用以统计文件中小写字母a 的个数。请填空。#includemain()FILE*fp;char m;long n=0;if(fp=fopen(,)=NULL)printf(cannot open filen);exit(0);while(!feof(fp)m=fgetc(fp);if(m=a)n+;18 printf(n=%ldn,n);19
限制150内