填空题下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。(注:程序采用了冒泡排序算法) #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(______);
填空题函数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';
填空题请补充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);
填空题下面程序的功能是:计算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);
填空题设有如下程序:
main()
{int n1,n2;
scanf("%d",
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
Printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为{{U}} 【10】 {{/U}}。
填空题下列程序的输出结果是______。 #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语言中,字符在内存中占______个字节。
填空题以下程序调用随机函数得到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}};
}
填空题以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件中形成文本文件,并将字符的个数写到文件尾部,请把程序补充完整。
#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;
}
填空题下列程序的输出结果是 【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);
填空题下面程序的运行结果是______。 #include<stdio.h> main() int a=25; fun( fun(int *x) printf("%d/n",++*x);
填空题以下程序的输出结果是______。
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]);
}
填空题给定程序的功能是:从键盘输入若干行文本(每行不超过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);
填空题下面函数要求计算两个整数x,y之和,并通过形参返回该值,请填空。
add(int x,int y,{{U}} 【16】 {{/U}}z)
{ {{U}}【17】 {{/U}}=x+y;}
填空题以下程序运行后的输出结果是 【8】 。 main() int a=1,b=3,c=5; if(c=a+b) printf("yes/n"); else printf("no/n");
填空题给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#define N 5
#define M 8
void fun (char(*ss)[M])
{char*ps[N],*tp;int i,j,k;
for(i=0;i<N;i++)
ps[i]=ss[i];
for(i=0;i<N-1;i++){
/*********found*********/
k=______;
for(j=i+1;j<N;j++)
/*********found*********/
if(strlen(ps[k])<strlen(______))k=j;
/*********found*********/
tp=ps[i];ps[i]=ps[k];
ps[k]=______;
}
printf("/nThe string after sorting by length:/n/n");
for(i=0;i<N;i++)puts(ps[i]);
}
main()
{char ch[N][M]={"red","green","blue","yellow","black"};
int i;
printf("/nThe original string/n/n");
for(i=0;i<N;i++)
puts(ch[i]);printf("/n");
fun(ch);
}
填空题若有以下函数定义,函数返回值的类型是{{U}} 【7】 {{/U}}。
fun(double A)
{return a*a*a;}
填空题以下程序的运行结果是 【17】 。 #include <stdio.h> #include <string.h> typcdef struct student char name[10]; long sno; float score; STU; main() STU a="Zhangsan",2001,95,b="Shangxian",2002,90, c="Anhua",2003,95,d,*p= d=a; if(strcmp(a.name,b.name)>0) d=b; if(strcmp(c. name,d. name)>0)d=c; printf("%1d%s/n",d.sno,p->name);
填空题以下程序的功能是计算:s=1+12+123+1234+12345。请填空。
main()
{ int t=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+{{U}} 【10】 {{/U}};s=s+t; }
printf("s=%d/n",s);
}
填空题请补充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; {{U}}【1】 {{/U}}; i++)
str [i]=str [i+1];
{{U}} 【2】 {{/U}};
printf("/n *** new string ***/n");
puts (str);
}
