收藏 分销(赏)

考试一观 程序填空.doc

上传人:xrp****65 文档编号:7455994 上传时间:2025-01-05 格式:DOC 页数:17 大小:98.50KB 下载积分:10 金币
下载 相关 举报
考试一观 程序填空.doc_第1页
第1页 / 共17页
考试一观 程序填空.doc_第2页
第2页 / 共17页


点击查看更多>>
资源描述
程序填空 ================================================== 平时练习题 实验二 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:任意输入三个实型数,在自定义函数qiuhe中求它们的和值, 在主函数中输出和值 -------------------------------------------------------*/ #include "stdio.h" double qiuhe(double x,double y,double z); main() { double a,b,c; printf("Enter a,b,c:"); scanf("%lf,%lf,%lf",&a,&b,&c); /***********FILL***********/ printf("和值=%.2f\n",_____); } /***********FILL***********/ double qiuhe(double x,_____,double z) { double sum; /***********FILL***********/ _____; return sum; } 答案: 位置 1: qiuhe(a,b,c) 位置 2: double y 位置 3: sum=x+y+z 【或】 sum=x+z+y 【或】 sum=y+x+z 【或】 sum=y+z+x 【或】 sum=z+x+y 实验三 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将一个数组中的元素按逆序存放。 -------------------------------------------------------*/ #include <stdio.h> #define N 7 main () { static int a[N]={12,9,16,5,7,2,1},k,s; printf("\n the origanal array:\n"); for (k=0;k<N;k++) printf("%4d",a[k]); /**********FILL**********/ for (k=0;k<N/2; _____) { s=a[k]; /**********FILL**********/ _____ /**********FILL**********/ _____ } printf("\n the changed array:\n"); for (k=0;k<N;k++) /**********FILL**********/ _____ ("%4d",a[k]); } 答案: 位置 1: k++ 【或】 k=k+1 【或】 k=1+k 【或】 k+=1 【或】 ++k 位置 2: a[k]=a[N-k-1] 【或】 a[k]=a[N-1-k] 【或】 a[k]=a[6-k] 【或】 *(a+k)=*(a+N-k-1) 【或】 *(a+k)=*(a+N-1-k] 【或】 a[k]=a[-1+N-k] 【或】 a[k]=a[-1-k+N] 【或】 a[k]=a[-k-1+N] 【或】 a[k]=a[-k+N-1] 【或】 a[6-k]=s 位置 3: a[N-k-1]=s 【或】 a[N-1-k]=s 【或】 a[6-k]=s 【或】 *(a+N-k-1)=s 【或】 *(a+N-1-k)=s 【或】 *(N+a-k-1)=s 【或】 *(N+a-1-k)=s 【或】 *(a-k+N-1)=s 【或】 *(a-k-1+N)=s 【或】 *(a-1+N-k)=s 【或】 *(a-1-k+N)=s 【或】 *(N-k+a-1)=s 【或】 *(N-k-1+a)=s 【或】 *(N-1+a-k)=s 【或】 *(N-1-k+a)=s 位置 4: printf /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:给出二维数组a[3][3]={{1,2,4},{6,1,5},{8,0,0}}, 计算各行元素的最小值,并存入一个一维数组中。 -------------------------------------------------------*/ #include<stdio.h> void fun(int m[][3],int n[ ]) { int i,j,min; for(i=0;i<3;i++) /**********FILL************/ { _____; /**********FILL************/ for(_____;j<3;j++) if( min>m[i][j])min=m[i][j]; /**********FILL************/ _____; }} main() {int i,a[3][3]={{1,2,4},{6,1,5},{8,0,0}},b[3]={0}; fun(a,b); for(i=0;i<3;i++) printf("%6d", b[i]);} 答案: 位置 1: min=m[i][0] 位置 2: j=1 【或】 j=0 位置 3: n[i]=min 综合一 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输入两个字符串,将第二个字符串拷贝到第一个字符串。 -------------------------------------------------------*/ #include <stdio.h> #include "stdio.h" /**********FILL************/ void fun(char a[], _____) { int i; for(i=0;b[i]!=0;i++)a[i]=b[i]; /**********FILL************/ _____;} main() { char s[100], t[100]; printf("\nPlease enter string S:"); scanf("%s%s", s,t); fun(s,t); /**********FILL************/ printf("\nThe result is : _____\n",s); } 答案: 位置 1: char b[] 【或】 char b[100] 位置 2: a[i]='\0' 【或】 a[i]=0 位置 3: %s /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输出结果为: * * * * * * * * * * * * * * * * * * * * * * * * * -------------------------------------------------------*/ #include <stdio.h> main() { /***********FILL***********/ int i,j,_____; char space=' '; for(i=1;i<=5;i++) { for(j=1;j<=i;j++) /***********FILL***********/ printf("%1c",_____); /***********FILL***********/ for(k=1;k<_____;k++) printf("%2c",'*'); /***********FILL***********/ printf("_____"); } } 答案: 位置 1: k 位置 2: space 【或】 ' ' 位置 3: =5 【或】 6 位置 4: \n 综合二 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输出Fibonacci数列前20项中,下标为偶数的元素之和。 已知前两项的值分别为1,1。从第三项开始后一项是前两项之和。 -------------------------------------------------------*/ #include "stdio.h" main() { /***********FILL***********/ long _____[20]={1,1},i,sum=0; /***********FILL***********/ for(i=2;i<=19;_____) /***********FILL***********/ f[i]=_____; for(i=0;i<=19;i++) /***********FILL***********/ if(_____) sum+=f[i]; printf("sum=%ld\n",sum); } 答案: 位置 1: f 位置 2: i++ 【或】 ++i 【或】 i=i+1 【或】 i+=1 【或】 i=1+i 位置 3: f[i-1]+f[i-2] 【或】 f[i-2]+f[i-1] 位置 4: i%2==0 【或】 i%2!=1 【或】 !(i%2) 题号:6415 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序的功能是:对输入的一行字符(以回车结束)中的 数字字符按它们的字面值进行累加,输出此累加和。 例如:输入的一行字符是:ab34dh8u,输出值应当是15。 -------------------------------------------------------*/ #include "stdio.h" int it(char pp) {int flag=0; /**********FILL************/ if(pp>='0'&&pp<='9') _____; return flag;} main() { char ch; int a=0; /**********FILL************/ while((ch=getchar())!=_____) if(it(ch)==1) /**********FILL************/ a=a+_____; printf("a=%d\nn",a);} 答案: 位置 1: flag=1 位置 2: '\n' 位置 3: ch-48 【或】 ch-'0' 综合三 /*------------------------------------------------------- 【程序填空】 -------------------------------------------------------- 功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。 -------------------------------------------------------*/ #include<stdio.h> void strcopy(char *str1,char *str2,int m) { char *p1,*p2; /**********FILL**********/ _____ p2=str2; while(*p1) /**********FILL**********/ _____ /**********FILL**********/ _____ } main() { int m; char str1[80],str2[80]; gets(str1); scanf("%d",&m); /**********FILL**********/ _____ puts(str1);puts(str2); } 答案: 位置 1: p1=str1+m 【或】 p1=m+str1 位置 2: *p2++=*p1++ 【或】 *(p2++)=*(p1++) 【或】 *p2=*p1,p2++,p1++ 【或】 *p2=*p1++,p2++ 【或】 *p2++=*p1,p1++ 位置 3: *p2='\0' 【或】 *p2=0 【或】 *p2=NULL 位置 4: strcopy(str1,str2,m) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t 所指的数组中。 例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。 -------------------------------------------------------*/ #include <conio.h> #include <stdio.h> #include <string.h> void fun (char s[], char t[]) { int i, d; /***********FILL***********/ d = _____; /***********FILL***********/ for (i = 0; i<d; _____) t[i] = s[i]; for (i = 0; i<d; i++) /***********FILL***********/ t[_____] = s[d-1-i]; /***********FILL***********/ t[_____] ='\0'; } main() { char s[100], t[100]; printf("\nPlease enter string S:"); scanf("%s", s); fun(s, t); printf("\nThe result is: %s\n", t); } 答案: 位置 1: strlen(s) 位置 2: i++ 【或】 ++i 【或】 i=i+1 【或】 i+=1 位置 3: d+i 【或】 i+d 位置 4: 2*d 【或】 d*2 【或】 i+d 【或】 d+i 【或】 d+d 期末模拟题 第一练 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的 和、差、积、商。 -------------------------------------------------------*/ #include<stdio.h> void main() { float a,b,c,d,e,f; printf("输入第一个复数的实部与虚部:"); scanf("%f, %f",&a,&b); printf("输入第二个复数的实部与虚部:"); scanf("%f, %f",&c,&d); /**********FILL**********/ _____; f=b+d; printf("相加后复数:实部:%f,虚部:%f\n",e,f); e=a*c-b*d; /**********FILL**********/ _____; printf("相乘后复数:实部:%f,虚部:%f\n",e,f); e=(a*c+b*d)/(c*c+d*d); /**********FILL**********/ _____; printf("相除后复数:实部:%f,虚部:%f\n",e,f); 【空1】 _____; 【参考答案】 e=a+c e=c+a 【空2】 _____; 【参考答案】 f=a*d+b*c f=a*d+b*c f=a*d+b*c 【空3】 _____; 【参考答案】 f=(b*c-a*d)/(c*c+d*d) f=(b*c-a*d)/(c*c+d*d) f=(b*c-a*d)/(c*c+d*d) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将十进制数转换成十六进制数。 -------------------------------------------------------*/ #include "stdio.h" #include "string.h" main () { int a,i; char s[20]; printf("input a integer:\n"); scanf("%d",&a); c10_16(s,a); /**********FILL**********/ for(_____;i>=0;i--) printf("%c",s[i]); printf("\n"); } c10_16(char p[],int b) { int j,i=0; /**********FILL**********/ while (_____) { j=b%16; if(j>=0&&j<=9) /**********FILL**********/ _____; else p[i]=j+55; b=b/16; i++; } /**********FILL**********/ _____; } 【空1】 for(_____;i>=0;i--) 【参考答案】 i=strlen(s)-1 i=-1+strlen(s) 【空2】 while (_____) 【参考答案】 b>0 0<b b!=0 0!=b b 【空3】 _____; 【参考答案】 p[i]=j+'0' p[i]=j+48 *(p+i)=j+'0' *(p+i)=j+48 【空4】 _____; 【参考答案】 p[i]='\0' p[i]=0 p[i]=NULL *(p+i)='\0' *(p+i)=0 *(p+i)=NULL 第二练 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 主函数的功能是:分别求出一批非零整数中的偶数、奇数的平均值,输入时用零作 为结束输入的标记。 -------------------------------------------------------*/ main() { int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf("%d",&x); while(x!=0) { if(x%2==0) {s1=s1+x;i++;} else { s2=s2+x; /**********FILL**********/ _____; } /**********FILL**********/ _____; } if(i!=0) av1=s1/i; else av1=0; if(j!=0) /**********FILL**********/ _____ ; else av2=0; printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2); } 【空1】 _____; 【参考答案】 j++ j=j+1 【空2】 _____; 【参考答案】 scanf("%d",&x) 【空3】 _____ ; 【参考答案】 av2=s2/j /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 主函数的功能是:分别求出一批非零整数中的偶数、奇数的平均值,输入时用零作 为结束输入的标记。 -------------------------------------------------------*/ main() { int x,i=0,j=0; float s1=0,s2=0,av1,av2; scanf("%d",&x); while(x!=0) { if(x%2==0) {s1=s1+x;i++;} else { s2=s2+x; /**********FILL**********/ _____; } /**********FILL**********/ _____; } if(i!=0) av1=s1/i; else av1=0; if(j!=0) /**********FILL**********/ _____ ; else av2=0; printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2); } 【空1】 _____; 【参考答案】 j++ j=j+1 【空2】 _____; 【参考答案】 scanf("%d",&x) 【空3】 _____ ; 【参考答案】 av2=s2/j 第三练 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:是将两个字符串连接为一个字符串,不许使用库函数strcat -------------------------------------------------------*/ #include "stdio.h" #include "string.h" JOIN(char *s1,char *s2) { int i,j; j=strlen(s1); /**********FILL**********/ for (i=0; _____'\0';i++) /**********FILL**********/ _____; /**********FILL**********/ s1[i+j]= _____ ; } main ( ) { char str1[80],str2[40]; int i,j,k; gets(str1);gets(str2); puts(str1);puts(str2); JOIN(str1,str2); puts(str1); } 【空1】 for (i=0; _____'\0';i++) 【参考答案】 s2[i]!= *(s2+i)!= 【空2】 _____; 【参考答案】 s1[i+j]=s2[i] 【空3】 s1[i+j]= _____ ; 【参考答案】 '\0' 0 NULL /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:是将两个字符串连接为一个字符串,不许使用库函数strcat。 ------------------------------------------------------*/ #include "stdio.h" #include "string.h" JOIN(char *s1,char *s2) { int i,j; j=strlen(s1); /**********FILL**********/ for (i=0; _____'\0';i++) /**********FILL**********/ _____; /**********FILL**********/ s1[i+j]= _____ ; } main ( ) { char str1[80],str2[40]; int i,j,k; gets(str1);gets(str2); puts(str1);puts(str2); JOIN(str1,str2); puts(str1); } 【空1】 _____ 【参考答案】 j=strlen(s1) for(j=0;s1[j]!='10';j++); for(j=0;s1[j];j++); 【空2】 for (i=0; _____'\0';i++) 【参考答案】 s2[i]!= *(s2+i)!= *(i+s2)!= 【空3】 s1[i+j]= _____; 【参考答案】 '\0' NULL 0 【空4】 _____ 【参考答案】 JOIN(str1,str2)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服