福建c语言考试之填空.docx
- 文档编号:11171647
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:32
- 大小:27.07KB
福建c语言考试之填空.docx
《福建c语言考试之填空.docx》由会员分享,可在线阅读,更多相关《福建c语言考试之填空.docx(32页珍藏版)》请在冰点文库上搜索。
福建c语言考试之填空
填空题
1)程序ccon491.c的功能是:
对输入的一个正整数,计算其所含因子3的个数。
例如:
输入:
54
输出:
3
#include
#include
voidmain()
{inti,n,n3;
/**//**/
printf("Inputainteger:
");
scanf("%d",/**//**/);
while(n%3==0)
{n3++;
/**//**/
}
printf("\nn3:
%d",n3);
getch();
}
ccon491.c
/**/n3=0;i=3;/**/
/**/&n/**/
/**/n=n/i;/**/
2)程序ccon492.c中的p_factor(intx)函数,实现输出正整数x的所有真因子(除了1和x以外),若无真因子则提示为素数。
例如:
x为13,则输出:
13isaprimenumber!
x为16,则输出:
248
#include
#include
voidp_factor(intx)
{inti,mark;
/**//**/;
for(i=2;i<=x/2;i++)
if(/**//**/==0)
{
mark=1;
printf("%2d",i);
}
if(!
mark)
printf("%disaprimenumber!
",x);
printf("\n");
}
voidmain()
{inta;
printf("Inputanumber:
");
scanf("%d",&a);
p_factor(/**//**/);
getch();
}
ccon492.c
/**/mark=0/**/;
/**/x%i/**/
/**/a/**/
3)程序ccon501.c,输出如下图形
1
11
121
1331
14641
15101051
1615201561
172135352171
#include
#include
voidmain()
{inti,j;
/**//**/
a[0]=1;
for(i=0;i<8;i++)
{printf("\t");
for(j=0;j<=i;j++)
{if(/**//**/)
b[j]=1;
else
b[j]=a[j-1]+a[j];
printf("%3d",/**//**/);
}
printf("\n");
for(j=1;j<=i;j++)
a[j]=b[j];
}
getch();
}
ccon501.c
/**/inta[8],b[8];/**/
/**/j==0||j==i/**/
/**/b[j]/**/
4)程序ccon502.c中的phalanx(inta[][],intn)函数,根据参数n(
),输出类似如下的方阵(n=6)
123456
24681012
345678
468101214
5678910
6810121416
#include
#include
#defineM10
voidphalanx(inta[][M],intn)
{int/**//**/,j;
for(i=0;i for(j=0;j { if(i%2==0) a[i][j]=i+1+j; else a[i][j]=/**//**/; } printf("Array(n=%d)is: \n",n); for(i=0;i { for(j=0;j printf("%3d",a[i][j]); printf("\n"); } } voidmain() { inta[M][M]; intn; printf("Inputn(2<=n<=10): "); scanf("%d",&n); phalanx(/**//**/,n); getch(); } ccon502.c /**/i/**/ /**/i+2*j+1/**/ /**/a/**/ 5)程序ccon511.c的功能是: 以每行5个数的形式输出100到200之间所有个位数为奇数且十位数为偶数或0的整数 #include #include voidmain() {inti,gw,sw,count; /**//**/ for(i=100;i<=200;i++) { sw=i/10; /**//**/ if(gw%2! =0&&sw%2==0) {if(/**//**/) printf("\n"); printf("%5d",i); count++; } } getch(); } ccon511.c /**/count=0;/**/ /**/gw=i%10;/**/ /**/count%5==0/**/ 6)将程序ccon512.c填写完整,使函数encrypt(char*s)实现将字符串中所有奇数位置(注: 字符串首字符为第1位)上的数字用比其小1的数字替换。 如,数字1用0替换,数字2用1替换、数字3用2替换…数字0用9替换(非数字则不替换)。 例如: 输入: ky123456+D009876 输出: ky022446+D908866 #include #include #include voidencrypt(char*s) {inti=1; char*p=s; while(*p) {if(i%2! =0) { if(/**//**/) *p=*p-1; elseif(*p=='0') *p='9'; } p++; /**//**/; } } voidmain() {charstr[100]; printf("Inputstring: \n"); gets(str); encrypt(str); printf("\nNowstringis: \n"); puts(str); getch(); } ccon512.c /**/*p>='1'&&*p<='9'/**/ /**/i++/**/; 7)程序ccon521.c,输出符合以下条件的3位整数的个数: 第一位和第三位数字不相同,且各位数的和为15 #include #include voidmain() {inti,j,k,count; /**//**/ for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) {if(/**//**/) count++; } printf("\ncount=%d",count); getch(); } ccon521.c /**/count=0;/**/ /**/i! =k&&i+j+k==15/**/ 8)将程序ccon522.c填写完整,使函数r_shift(inta[])实现将数组a各元素循环右移1个位置,最后一个元素存到首位。 例如: 数组a元素为: 13579108642 循环右移后为: 21357910864 #include #include #defineN10 voidr_shift(inta[]) {inti,temp; temp=a[N-1]; for(i=N-1;/**//**/;i--) a[i]=/**//**/; a[0]=temp; } voidmain() {intarr[N]={1,3,5,7,9,10,8,6,4,2},i; printf("Originalarrayis: \n"); for(i=0;i printf("%d",arr[i]); r_shift(/**//**/); printf("\nNowarrayis: \n"); for(i=0;i printf("%d",arr[i]); getch(); } ccon522.c /**/i>=1/**/ /**/a[i-1]/**/ /**/arr/**/ 9)程序ccon531.c的功能是: 用选择排序法对输入的10个整数按从大到小排序并输出结果: 例如: 输入: 2934841657 输出: 9876544321 #include #include voidmain() {inti,j,k; /**//**/ inta[10]; printf("Enter10integers: "); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<9;i++) {max=a[i]; k=i; for(j=i+1;/**//**/;j++) if(a[j]>max) {max=a[j]; /**//**/ } if(k! =i) {temp=a[i]; a[i]=a[k]; a[k]=temp; } } for(i=0;i<10;i++) printf("%d",a[i]); getch(); } ccon531.c /**/intmax,temp;/**/ /**/j<10/**/ /**/k=j;/**/ 10)将程序ccon532.c填写完整,使函数convert( inta[][])输出数组a表示的N*N矩阵的转置矩阵 例如: 5*5矩阵 12345 1112131415 2122232425 3132333435 4142434445 转置后: 111213141 212223242 313233343 414243444 515253545 #include #include #defineN5 voidconvert(inta[][N]) {inti,/**//**/,temp; for(i=0;/**//**/;i++) for(j=i+1;j {temp=a[i][j]; a[i][j]=/**//**/; a[j][i]=temp; } } voidmain() {inti,j; intarr[N][N]; for(i=0;i for(j=0;j arr[i][j]=10*i+j+1; printf("Originalarray: \n"); for(i=0;i {for(j=0;j printf("%3d",arr[i][j]); printf("\n"); } convert(arr); printf("Convertedarray: \n"); for(i=0;i {for(j=0;j printf("%3d",arr[i][j]); printf("\n"); } getch(); } ccon532.c /**/j/**/ /**/i /**/a[j][i]/**/ 11)补充程序ccon591.c,计算 的值 #include voidmain() {longintk; inti; k=/**//**/; for(i=1;/**//**/;i+=3) /**//**/ printf("\nk=%ld",k); getch(); } ccon591.c /**/1/**/ /**/i<=25/**/ /**/k*=i;/**/ 12)补充程序ccon592.c,求以下分数序列前15项之和。 #include #include voidmain() { intn,x,y,t; floatsum; /**//**/; x=2; y=1; for(n=1;/**//**/;n++) { sum+=1.0*x/y; t=x; x=x+y; y=/**//**/; } printf("sum=%f",sum); getch(); } ccon592.c /**/sum=0/**/ /**/n<=15/**/ /**/t/**/ 13)补充程序ccon601.c,输出100以内能被3整除且个位数字为6的所有正整数。 #include #include voidmain() {inti,k; for(i=0;/**//**/;i++) {k=10*i+6; if(/**//**/) continue; printf("%-5d",/**//**/); } printf("\n"); getch(); } ccon601.c /**/i<10/**/ /**/k%3! =0/**/ /**/k/**/ 14)补充程序ccon602.c,使chang_w()函数对字符串中的元音字母进行加密,方法是: ‘a’转换成’e’、‘e’转换成’i’、‘i’转换成’o’、‘o’转换成’u’、‘u’转换成’a’,其他字符保持不变。 例如: 输入原文: Youarewelcome! 输出密文: Yuaeriwilcumi! #include #include #include voidchange_w(/**//**/) { inti=0; while(str[i]) { switch(str[i]) {case'a': str[i]='e';break; case'e': /**//**/; case'i': str[i]='o';break; case'o': str[i]='u';break; case'u': str[i]='a'; } /**//**/; } } voidmain() { charsrc[80],tag[80]; printf("Pleaseinputsourcestring: "); gets(src); strcpy(tag,src); change_w(tag); printf("\nThesourcestring: %s\n",src); printf("Thetargetstring: %s\n",tag); getch(); } ccon602.c /**/charstr[]/**/ /**/str[i]='i';break;/**/ /**/i++/**/ 15)补充程序ccon611.c,逐一计算方阵x和y中主对角线上相应位置元素的和,并依此存入z数组)。 例如: 方阵x为: 19587 31154 2301 方阵y为: 116223 4516 378109 #include #include #defineSIZE3 voidmain() {intx[SIZE][SIZE]={19,58,7,31,15,4,23,0,1}; inty[SIZE][SIZE]={11,62,23,4,5,16,37,8,109}; intz[SIZE],i; for(i=0;/**//**/;i++) z[i]=/**//**/; for(i=0;i printf("%-5d",/**//**/); printf("\n"); getch(); } ccon611.c /**/i /**/x[i][i]+y[i][i]/**/ /**/z[i]/**/ 16)补充程序ccon612.c,使sort()函数用选择法对数组a中n个元素按从小到大排序。 #include #include #defineN12 voidsort(/**//**/) { inti,j,mark,t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福建 语言 考试 填空