填空题下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int fun(int k)
{int m=0,mc=0,j;
while((k>=2)mc++;}
k--;
/*********found*********/
return m;
}
void main()
{system("CLS");
printf("% d/n",fun(500));
}
填空题请补充fun函数,该函数的功能是:按'0'到'9'统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。注意:不能使用字符串库函数。 例如,输入“x=1123.456+0.909*bc”,结果为:1=2,3=1,5=1,7=0,9=2。 [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 [试题源程序] #include<conio.h> #include<stdio.h> #define N 20 fun(char*tt, int num[]) int i, j; int bb[10]; char *p=tt; for(i=0;i<10; i++) num[i]=0; bb[i]=0; while( (1) ) if(*p>='0'&&*p<='9') (2) ; p++; for(i=i, J=0; i<10; i=i+2, j++) (3) ; main() char str[N]; int num[10], k; cirscr(); printf("/nplease enter a string:"); gets(str); printf("/n*******The original string*******/n"); puts(str); fun(str, num); printf("/n******The number of letter********/n”); for(k=0; k<5; k++) printf("/n"); printf("%d=%d ", 2*k+1, hum[k]); printf("/n"); return;
填空题已知文本文件test.txt,其中的内容为:Hello,everyone!。以下程序中,文件test.txt已正确为“读”而打开,由此文件指针fr指向文件,则程序的输出结果是______。 #include <stdio.h> main() FILE *fr; char str[40]; fgets(str, 5 ,fr); printf("%s/n",str); fclose(fr);
填空题以下程序的输出结果是{{U}} 【10】 {{/U}}。
#include<string.h>
main()
{ printf("%d/n",strlen("IBM/n012/1//"));}
填空题下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。(注:程序采用了冒泡排序算法) #include<stdio.h> #include<string.h> main() char *str="ABCDabcd",temp; int n,i; n=strlen(str); while(n->1) for(i=0;i<n;i++) if(str[i]<str[i+1]) temp=______; str[i]=str[i+1]; ______=temp; printf(______);
填空题有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。 #define N 100 main() float a[N+1],x; int i,p; for(i=0;i<N;i++) scanf("%f" scanf("%f", for(i=0,p=N;i<N;i++) if(x<a[i]) ______; break; for(i=N-1;______;i-) a[i+1]=a[i]; a[p]=x; for(i=0;______;i++) printf("%8.2f",a[i]); if(i%5=0) printf("/n");
填空题下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
#define N 5
#define M 8
int fun(char(*ss)[M],char*t)
{int i;
/**********found**********/
for(i=0;i<______;i++)
/**********found**********/
if(strcmp(ss[i],t)==0)return______;
return-1;
}
main()
{char ch[N][M]={"if","while","switch","int","for"},t[M];
int n,i;
printf("/nThe original string/n/n");
for(i=0;i<N;i++)puts(ch[i]);
printf("/n");
printf("/nEnter a string for search:");gets(t);
n=fun(ch,t);
/**********found**********/
if(n==______)printf("/nDon"t found!/n");
else printf("/nThe position is%d./n",n);
}
填空题设有如下程序:
main()
{int n1,n2;
scanf("%d",
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
Printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为{{U}} 【10】 {{/U}}。
填空题以下程序运行后的输出结果是{{U}} 【10】 {{/U}}。
main()
{int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
int i=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4)continue;
j=0;
do{ s+=a[i][j]; j++;}while(j<4);
}
Printf("%d/n",s);
}
填空题下面程序的功能是:计算1~10之间的奇数之和与偶数之和,请填空。 #include<stdio.h> main() int a,b,c,i; a=c=0; for(i=0;i<=10;i+=2) a+=i; ______; c+=b; printf("偶数之和=%d",a); printf("奇数之和=%d",c-11);
填空题函数delete(s,i,n)的作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s[],int i,int n) int j,k,length=0; whiles(length]) 【16】 ; -i; j=i; if( 【17】 ) k=i+n; if(i+n<=length) while(k<length) s[j++]=s[k++]; s[j]='/0';
填空题下面程序的运行结果是______。 #include<stdio.h> main() int a=25; fun( fun(int *x) printf("%d/n",++*x);
填空题请补充main函数,该函数的功能是:把字符串str中的字符向前移动一位,原来的第一个字符移动到字符串尾,结果仍然保存在原字符串中。 例如,输入“how do you do?”,则结果输出“ow do you do?h”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio. h> #define N 80 main() char str[N], ch; int i; clrscr (); printf("/n Input a string:In"); gets (str); printf("/n*** original string ***In"); puts (str); ch=str [0]; for (i=0; 【1】 ; i++) str [i]=str [i+1]; 【2】 ; printf("/n *** new string ***/n"); puts (str);
填空题以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件中形成文本文件,并将字符的个数写到文件尾部,请把程序补充完整。
#include<stdio.h>
int main()
{
FILE*fp;
char ch, fname[32];
int count=0;
printf("Input the filename:");
gets(fname);
if((fp=fopen(______, "w+"))==NULL)
{
printf("Can"t open file:%s/n", fname);
exit(0);
}
printf("Enter data:/n");
while((ch=getchar())!="#")
{
fputc(ch, fp);
count++;
}
fprintf(______, "/n%d/n", count);
fclose(fp);
return 0;
}
填空题以下程序调用随机函数得到N个20以内的整数放在s数组中。函数fun的功能是找出s数组中的最大数(不止一个)所在下标传回主函数进行输出,并把最大值作为函数值返回,请填空。
#define N 30
man()
{ int s[N],d[N],i,k,m;
for(i=0,i<N;i++){s[i]=rand()%20;printf("%3d",s[i]);}
m=fun({{U}} 【13】 {{/U}});
printf("m=%d/n",m);
printf(”The index ;/n");
for(i=0;i<k;i++)printf("%4d",d[i]);
printf("/n/n");
}
fun(int*w,int*d,int * k)
{ int i,j,m=0,v;
for(i=0;i<N;i++)
if(w[i]>w[m]){{U}} 【14】 {{/U}};
v=w[m];
for(i=0,j=0;i<N;i++)
if(w[i]==v){{U}} 【15】 {{/U}};
*k={{U}} 【16】 {{/U}};
return{{U}} 【17】 {{/U}};
}
填空题以下程序的输出结果是______。
main()
{ char *s="12134211”;int v[4]={0,0,0,0},k,i;
for(k=0;s[k];k++)
{ switch (s[k])
{ case '1':i=0; case '2':i=1:
case '3':i=2; Case '4':i=3;
}
v[i]++;
}
for(k=0;k<4;k++)
printf("%d",v[k]);
}
填空题下列程序的输出结果是______。 #include<stdio.h> fun() static int a=0; a+=3;printf("%d",a) ; main() int cc; for(CC=1;cc<5;CC++)fun(); printf("//n');
填空题C语言中,字符在内存中占______个字节。
填空题下列程序的输出结果是 【9】 。 main() int a[]=2,4,6,*ptr= for(y=0;y<3;y++) z=(*(ptr+y)<x)?*(ptr+y):x; print f("%d/n",z);
填空题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),并写入文件myfile4.txt中,用-1作为字符串输入结束的标志,然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 [注意] 部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 [试题源程序] #include<stdio.h> #include<string.h> #include<stdlib.h> void WriteText(FILE *); void ReadText(FILE *); main() FILE *fp; if((fp=fopen("myfile4.txt", "W"))==NULL) printf("open fail !!/n"); exit(0); WriteText(fp); fclose(fp); if((fp=fopen("myfile4.txt", "r"))==NULL) printf("open fail !!1/n"); exit(0); ReadText(fp); fclose(fp); /*********found*********/ void WriteText(FILE (1) ) char str[81]; printf("/nEnter string with -1 to end :/n"); gets(str); while(strcmp(Str, "-1")!=0) /**********found*********/ fputs( (2) , fw); fputs("/n", fw); gets(str); void ReadText(FILE *fr) char str[81]; printf("/nRead file and output to screen :/n"); fgets(str, 81, fr); while( !feof(fr)) /**********found**********/ printf("%s", (3) ); fgets(str, 81, fr);
