c语言程序填空含答案.docx
- 文档编号:5534502
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:47
- 大小:32.26KB
c语言程序填空含答案.docx
《c语言程序填空含答案.docx》由会员分享,可在线阅读,更多相关《c语言程序填空含答案.docx(47页珍藏版)》请在冰豆网上搜索。
c语言程序填空含答案
【程序填空】
功能:
写一个函数,求一个字符串的长度,在main函数中输入字
符串,并输出其长度。
len=length(str);
Intlength(p)
N++;
P++;
【程序改错】
功能:
将一个字符串中的大写字母转换成小写字母。
bool(char)fun(char*c)
fun=c;(return*c)
puts(*p);(putchar(*p))
【程序设计】
功能:
编写函数实现两个数据的交换,在主函数中输入任
意三个数据,调用函数对这三个数据从大到小排序。
—--————————-—---—-—-—--——--—---—---——-————--————*/
#include〈stdio.h>
voidwwjt();
voidswap(int*a,int*b)
{
/**********Program**********/
/**********End**********/
}
main()
{
intx,y,z;
scanf("%d%d%d",&x,&y,&z);
if(x〈y)swap(&x,&y);
if(x〈z)swap(&x,&z);
if(y〈z)swap(&y,&z);
printf("%3d%3d%3d”,x,y,z);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intm,n;
inti[2];
IN=fopen("in.dat","r”);
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen(”out。
dat","w”);
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(n=0;n<3;n++)
{
for(m=0;m〈2;m++)
{
fscanf(IN,"%d”,&i[m]);
}
swap(&i[0],&i[1]);
fprintf(OUT,"%d\n”,i[0]);
fprintf(OUT,"%d\n",i[1]);
}
fclose(IN);
fclose(OUT);
}
/*-——-----—-—----—-—--———-———---—----—-——--—--—------———-
【程序填空】
功能:
输入3个数a,b,c,按从小到大的顺序输出。
—
if(n1〉n2)swap(pointer1,pointer2);
if(n1〉n3)swap(pointer1,pointer3);
if(n2>n3)
voidswap(int*p1,int*p2)
【程序改错】
功能:
将s所指字符串的反序和正序进行连接形成一个新串放在
t所指的数组中。
例如:
当s所指的字符串的内容为"ABCD”时,t所指数组中
的内容为"DCBAABCD”。
d=len(s);(strlen(s)
for(i=1(i=0);i t[2*d]='/0'(‘\0’); 【程序设计】 功能: 把20个随机数存入一个数组,然后输出该数组中的 最小值。 其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 -——----—--—-—————---——-—--—-—-——-————-——-----———*/ #include〈stdio。 h〉 #defineVSIZE20 voidwwjt(); intvector[VSIZE]; intfun(intlist[],intsize) { /**********Program**********/ /**********End**********/ } main() { inti; for(i=0;i〈VSIZE;i++) { vector[i]=rand(); printf(”Vector[%d]=%6d\n”,i,vector[i]); } i=fun(vector,VSIZE); printf("\nMininum: Vector[%d]=%6d\n",i,vector[i]); wwjt(); } voidwwjt() { inti,t; FILE*fp; fp=fopen(”out。 dat”,"w"); for(i=0;i〈VSIZE;i++) { fprintf(fp,"Vector[%d]=%6d\n”,i,vector[i]); } t=fun(vector,VSIZE); fprintf(fp,"\nMininum: Vector[%d]=%6d\n",t,vector[t]); fclose(fp); } /*—-—---—-----——--—-—-———-——--—-—---——-———————---—--—-——— 【程序填空】 功能: 输出9*9口诀。 for(i=1;i<10;i++) for(j=1;j〈10;j++) printf(”%d*%d=%-3d”,i,j,result); 【程序改错】 功能: 以下程序把两个数按由大到小的顺序输出来。 swap(int*p1,*p2)(intt) scanf(”%d%d”,a,b(&a,&b)); printf(”max=%d,min=%d\n”,p,q(*p,*q)); 【程序设计】 功能: 求1到100之间的偶数之积。 -—---—-——-—--—---—--—-——---—-—-—---—-—-—-———-—--*/ #include voidwwjt(); doublefun(intm) { /**********Program**********/ /**********End**********/ } main() { printf("ji=%f\n",fun(100)); wwjt(); } voidwwjt() { FILE*IN,*OUT; intiIN,i; doubledOUT; IN=fopen(”23。 IN",”r"); if(IN==NULL) { printf(”PleaseVerifyTheCurrerntDir。 .itMayBeChanged"); } OUT=fopen("23.out”,”w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir。 。 itMayBeChanged"); } for(i=0;i〈10;i++) { fscanf(IN,”%d”,&iIN); dOUT=fun(iIN); fprintf(OUT,"%f\n”,dOUT); } fclose(IN); fclose(OUT); } /*————--—-—----—-—-—--——————-——-—------———-—-——-——-————-- 【程序填空】 功能: 将字母转换成密码,转换规则是将当前字母变成其后的第 四个字母,但W变成A、X变成B、Y变成C、Z变成D.小写字 母的转换规则同样。 while((c=getchar())! =’\n’) if((c〉=’a’&&c〈='z’)||(c>='A'&&c<=’Z'))c=c+4; if((c〉’Z'&&c<='Z’+4)||c>'z') 【程序改错】 功能: 编写input()和output()函数输入,输出5个学生的数据记录。 #include〈stdio。 h〉 #defineN5 structstudent { charnum[6]; charname[8]; intscore[4]; }stu[N]; input(stu) structstudentstu[]; { /**********FOUND**********/ inti;j; for(i=0;i { printf(”\npleaseinput%dof%d\n”,i+1,N); printf("num: "); scanf(”%s”,&stu[i].num); printf(”name: "); scanf(”%s",stu[i]。 name); for(j=0;j〈3;j++) { /**********FOUND**********/ printf("score%d。 ”,j); scanf("%d”,&stu[i].score[j]); } printf("\n”); } } print(stu) structstudentstu[]; { inti,j; printf(”\nNo。 NameSco1Sco2Sco3\n”); /**********FOUND**********/ for(i=0;i〈=N;i++) { printf("%-6s%—10s”,stu[i]。 num,stu[i]。 name); for(j=0;j〈3;j++) printf("%-8d”,stu[i]。 score[j]); printf(”\n"); } } main() { input(); print(); } /*-——-——--—-—-—-——-—-————--———----—-———--——--—-—-— 【程序设计】 功能: 产生20个[30,120]上的随机整数放入二维数组a[5][4] 中,求每行元素的和. ——-—--———————------———--—-—--—-—--—----—---————-*/ #include"stdlib。 h” #include〈stdio.h> voidwwjt(); voidrow_sum(inta[5][4],intb[5]) { /**********Program**********/ /**********End**********/ } main() { voidrow_sum(); inta[5][4],b[5],i,j; for(i=0;i<5;i++) for(j=0;j<4;j++) a[i][j]=rand()%(120—30+1)+30; for(i=0;i<5;i++) { for(j=0;j<4;j++) printf(”%5d",a[i][j]); printf(”\n"); } row_sum(a,b); for(i=0;i〈5;i++) printf(”%6d",b[i]); printf("\n”); wwjt(); } voidwwjt() { FILE*IN,*OUT; intm,n; inti[5][4]; into[5]; IN=fopen("in。 dat”,"r”); if(IN==NULL) { printf("ReadFILEError”); } OUT=fopen("out。 dat",”w”); if(OUT==NULL) { printf(”WriteFILEError"); } for(m=0;m〈5;m++) for(n=0;n<4;n++) fscanf(IN,"%d",&i[m][n]); row_sum(i,o); for(n=0;n〈5;n++) fprintf(OUT,”%d\n",o[n]); fclose(IN); fclose(OUT); } /*--—-—-----—-———-—-——-—-—————---—-——--——------——-----—-- 【程序填空】 功能: 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为 1~100分。 选手最后得分为: 去掉一个最高分和一个最低分 后其余8个分数的平均值.请编写一个程序实现. scanf("%d",&score); if(max if(min>score) score: %d\n",(sum-max—min)/8); 【程序改错】 功能: 将s所指字符串的反序和正序进行连接形成一个新串放在 t所指的数组中。 Charfun(char*c)fun=c;return*c 【程序设计】 功能: 将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 -—-———--—-———-——---------—---—---——--—-———————-—*/ #include"string。 h” #include〈stdio.h> voidwwjt(); voidchange(charstr[]) { /**********Program**********/ /**********End**********/ } main() { voidchange(); charstr[40]; gets(str); change(str); puts(str); wwjt(); } voidwwjt() { FILE*IN,*OUT; chari[200]; IN=fopen(”in。 dat",”r”); if(IN==NULL) { printf("ReadFILEError”); } OUT=fopen(”out.dat”,"w"); if(OUT==NULL) { printf("WriteFILEError"); } fscanf(IN,"%s",i); change(i); fprintf(OUT,”%s\n”,i); fclose(IN); fclose(OUT); } /*——-————---—-——---————-——————-—-——----—--—-—-—-—————--—— 【程序填空】 —功能: 考查字符串数组的应用。 输出26个英文字母。 for(i=0;i<26;i++) string[i]=‘A’+i; printf("thearrarycontains%s\n”,string); 【程序改错】 功能: 将一个字符串中的大写字母转换成小写字母。 例如: 输入aSdFG输出为asdfg。 —----——---—---—--—-————--————-———--—----—-———————--—-—*/ #include h〉 /**********FOUND**********/ boolfun(char*c) { if(*c〈='Z'&&*c>=’A’)*c-='A’-’a'; /**********FOUND**********/ fun=c; } main() { /**********FOUND**********/ chars[81],p=s; gets(s); while(*p) { *p=fun(p); /**********FOUND**********/ puts(*p); p++; } putchar(’\n’); } /*------———-—-—————-———-—--—-----—-—---———-————--— 【程序设计】 功能: 将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 --——--—---—-———————--—-——---—-—-———--—--————-——-*/ #include”string。 h" #include h〉 voidwwjt(); voidchange(charstr[]) { /**********Program******** /**********End**********/ } main() { voidchange(); charstr[40]; gets(str); change(str); puts(str); wwjt(); } voidwwjt() { FILE*IN,*OUT; chari[200]; IN=fopen("in.dat”,"r”); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat","w”); if(OUT==NULL) { printf(”WriteFILEError"); } fscanf(IN,"%s",i); change(i); fprintf(OUT,"%s\n”,i); fclose(IN); fclose(OUT); } /*—--——-———-—-——------——--——---——-——-———-————-——---——-—-— 【程序填空】 功能: 从读入的整数数据中,统计大于零的整数个数和小于零的 整数个数.用输入零来结束输入,程序中用变量i统计大于 零的整数个数,用变量j统计小于零的整数个数。 if(n>0)i=i+1; if(n<0)j=j+1; scanf(”%d",&n); printf("i=%4d\n",i,j); } 【程序改错】 功能: 实现交换两个整数的值。 voidfun(inta,b(int*a,int*b) t=at=*a a=b;(*a=*b) b=t;*b=t { inta,b; printf(”enter 【程序设计】 功能: 从键盘上输入任意实数x,求出其所对应的函数值。 z=(x—4)的二次幂(x〉4) z=x的八次幂(x〉-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) ——-—-——---——--—-———---————--—-—---—————---—---—-*/ #include〈math.h> #include〈stdio.h〉 voidwwjt(); floaty(floatx) { /**********Program**********/ /**********End**********/ } main() { floatx; scanf(”%f”,&x); printf(”y=%f\n”,y(x)); wwjt(); } voidwwjt() { FILE*IN,*OUT; intn; floati; floato; IN=fopen(”in。 dat","r"); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat”,”w"); if(OUT==NULL) { printf("WriteFILEError"); } for(n=0;n〈10;n++) { fscanf(IN,”%f”,&i); o=y(i); fprintf(OUT,"%f\n”,o); } fclose(IN); fclose(OUT); } /*-——--———--———------—--——-——--——--——---—————-----—--——-— 【程序填空】 功能: 删除字符串中的数字字符。 例如: 输入字符串: 48CTYP9E6,则输出: CTYPE。 voidfun(char*s) else*s++=*p++; *s=’\0'; 【程序改错】 功能: 实现交换两个整数的值。 例如: 给a和b分别输入3和6,输出为a=6b=3 -----—-------—-—-—----——--—-—----——-—-———----——-—-————*/ #include /**********FOUND**********/ voidfun(inta,b) { intt; /**********FOUND**********/ t=a; /**********FOUND**********/ a=b; /**********FOUND**********/ b=t; } main() { inta,b; printf("entera,b: ”);scanf(”%d%d",&a,&b); fun(&a,&b); printf("a=%db=%d\n",a,b); } /*---——---————-----—--—--—————-———---——-—-—--———-- 【程序设计】 功能: 能计算从1开始到n的自然数中偶数的平方的和,n由 键盘输入,并在main()函数中输出.(n是偶数) -——--——-—-—--—---—-——----—-—-—-—-————--—--—----—*/ #include h〉 voidwwjt(); intfun(intn) { /**********Program**********/ /**********End**********/ } main() { intm; printf(”Enterm: "); scanf("%d",&m); printf(”\nTheresultis%d\n",fun(m)); wwjt(); } voidwwjt() { FILE*IN,*OUT; intt; into; intc; IN=fopen(”in.dat”,”r”); if(IN==NULL) { printf("ReadFILEError”); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf(”WriteFILEError”); } for(c=1;c〈=5;c++) { fscanf(IN,"%d",&t); o=fun(t); fprintf(OUT,”%d\n",o); } fclose(IN); fclose(OUT); } /*-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 填空 答案