问答题下列给定程序中,函数fun的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码值升序排序后输出。例如,若输入"edcba",则应输出'abcde'。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<string.h>#include<stdio.h>void fun(char t[]){ char c; int i,j;/*********found*********/ for(i=strlen(t);i;i--) for(j=0;j<i;j++)/*********found*********/ if(t[j]<t[j+1]) { C=t[j]; t[j]=t[j+1]; t[j+1]=c; }}main(){ char s[81]; printf("\nPlease enter a character string:"); gets(s); print("\n\nBefore sorting:\n%s",s);fun(s);printf("\nAfter sorting decendingly:\n%s",s);}
问答题给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位数,a2放十位数。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
给定源程序:
#include
fun( int *b )
{ int k,a1,a2,i=0;
for(k=10; k<=55; k++) {
/************found************/
a2=k/1O;
a1=k-a2*10;
if((k%3==0 i++; }
}
/************found************/
return k;
}
main( )
{ int a[100],k,m;
m=fun( a );
printf("The result is :/n");
for(k=0; k
}
问答题下列给定程序中,函数fun的功能是:计算如下公式前n项的和,并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(intn){inti;doubles,t;/*********found*********/s=【1】;/*********found*********/for(i=1;i<=【2】;i++){t=2.0*i;【1】S=s+(2.0*i一1)*(2.0*i+1)/【3】;}retuens;}voidmain(){intr1=一1;while(n<0){printf("Pleaseinput:(n>0):");scanf("%d",&n);}printf("/nTheresultis:%f/n",fun(n));}
问答题请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出“YES”;否则返回0,主函数中输出“NO”。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意
:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
int fun(char *str)
{
}
main()
{
char s[N];
char *test[]={"1234321","123421","123321","abcdCBA"};
int i;
printf("Enter a string:"};
gets(s);
printf("/n/n");
puts(s);
if(fun(s))
printf("YES/n");
else
printf("NO/n");
}
问答题下列给定程序中,函数proc()的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。
请修改程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
int proc()
{
int i, j, k, sum=0;
printf("/nThe result: /n/n");
//****found****
for(i=0; i<=3; i++)
{
for(j=1; j<=5; j++)
{
k=8-i-j;
//****found****
if(k>=1
printf("red: %4d white: %4d
black: %4d/n", i, j, k);
}
}
}
return sum;
}
void main()
{
int sum;
sum=proc();
printf("sum=%d/n/n", sum);
}
问答题请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。例如字符串:uvwxyz满足要求;而字符串:uvxwyz不满足要求。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<string.h>
void NONO();
int fun(char*t)
{
}
main()
{char s[26];
printf("请输入一个字母组成的字符串:");gets(s);
if(fun(s))printf("%s是由连续字母组成的字符串./n",s);
else printf("%s不是由连续字母组成的字符串!/n",s);
NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*fp,*wf;
int i;
char s[26],*p;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fgets(s,26,fp);
p=strchr(s,"/n");
if(p)*p=0;
if(fun(s))fprintf(wf,"%s/n",s+2);
else fprintf(wf,"%s/n",strrev(s));
}
fclose(fp);
fclose(wf);
}
问答题下列给定程序中函数fun的功能是:逐个比较P、q所指两个字符串对应位置上的字符,并把ASCⅡ值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abed”,则c中的字符串应为“aBcdeFgH”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构! #include<stdio.h> #include<string.h> void fun(char*P,char*q,char*c) { /***********found***********/ int k=1; /***********found***********/ while(*P!=*q) {if(*P<*q)c[k]=*q; else c[k]=*P; if(*P)P++; if(*q) q++; k++: } } main() { char a[10]=“aBCDeFgH”,b[10]=“ABcd”,c[80]={'0'}; fun(a,b,c); prinff(“The string a:”);puts(a); printf(“The string b:”);puts(b); prinff(“The result:”);puts(c); }
问答题编写函数fun,其功能是:根据以下公式求P的值,结果由函数值返回。m与n为两个正整数且要求m>n。例如:m=12,n=8时,运行结果为495.000000。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:#include<stdio.h>floatfun(intm,intn){}main()/*主函数*/{printf("P=%f/n",fun(12,8));}
问答题给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。
例如,有下列矩阵:
1 2 13 4
7 8 10 6
3 5 9 7
程序执行结果为:find:a[2][2]=9
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 3
#define N 4
void fun(int(*a)[N])
{int i=0,j,find=0,rmax,c,k;
while((i<M)&&(!find))
{Emax=a[i][0]; c=0;
for(j=1;j<N;j++)
if(Emax<a[i][j]){
/*********found*********/
rmax=a[i][j];c=
【1】
;
find=1;k=0;
while(k<M&&find){
/*********found*********/
if(k!=i&&a[k][c]<=Emax)
find=
【2】
;
k++;
}
if(find)
printf("find:a[%d][%d]=%d\n",i,c,a[i][c]);
/*********found*********/
【3】
;
}
if(!find)
printf("not found!\n");
}
main()
{ int x[M][N],i,j;
printf("Enter number for array:\n");
for(i=0;i<M;i++)
for(j=0;j<N; j++)
scanf("%d",&x[i][j]);
printf("The array:\n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++)
printf("%3 d",x[i][j]);
printf("\n\n");
}
fun(x);
}
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。
注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
int fun( STREC *a, STREC *b )
{
}
main()
{ STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},
/TAB /TAB {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},
/TAB /TAB {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
/TAB /TAB {"GA011",91},{"GA017",64},{"GA018",64},{"GA016",72}};
STREC h[N];
int i,n;FILE *out ;
n=fun( s,h );
printf("The %d lowest score :/n",n);
for(i=0;i
printf("%s M/n",h[i].num,h[i].s);
printf("/n");
out = fopen("c://test//out.dat","w") ;
fprintf(out, "%d/n",n);
for(i=0;i
fprintf(out, "M/n",h[i].s);
fclose(out);
}
问答题函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a=45,b=12。调用该函数后,c=4251。 注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 void fun(int a,int b,long *c)3 {4 }5 void NONO()6 {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */7 FILE *rf,*wf;8 int i,a,b;long c ;9 rf=fopen(''in.dat'',''r'');10 wf=fopen(''out.dat'',''w'');11 for(i=0;i<10;i++){12 fscanf(rf,''%d,%d'',&a,21 printf(''Input a,b:'');22 scanf(''%d%d'',&a,&b);23 fun(a,b,&c);24 printf(''The result is:%1d\n'',c);25 NONO();}
问答题给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参S所指的字符串为”abcdef35adgh3kjsdf7”,则输出结果为4。 请在下画线处填入正确内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>void fun(char*s,int*t){ int i,n; n=0;/******found******/for(i=0;___1___!=0;i++)/******found******/ if(S[i]>=‘0’&&s[i]<=___2___) n++:/******found******/ ____3____;}main(){ char s[80]=“abcdef35adgh3kjsdf7”; int t; prinff(“\nTine original string is:%s\n”,s); fun(S,&t); printf(“\nThe result is:%d\n”,t);}
问答题给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在BLANK1.C中。不得增行或删行,也不得更改程序的结构!试题程序:
问答题编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
例如:当t = 1000时,函数值为:1597。
注意: 部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
int fun( int t)
{
}
main() /* 主函数 */
{ int n;
n=1000;
printf("n = %d, f = %d/n",n, fun(n));
NONO();
}
问答题下列给定程序中,函数fun的功能是:用下面的公式求,π的近似值,直到最后一项的绝对值小于指定的数(参数nun)为止。例如,程序运行后,输入0.0001,则程序输出3.1414。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<math.h>#include<stdio.h>floatfun(floatnum){ints;floatn,t,pi;t=1;pi=0;n=1;s=1;/*********found*********/while(t>=num){pi=pi+t;n=n+2;s=一s;t=s%n;}pi=pi*4;retuEnp2;}voidmain(){floatn1,n2;system("CLS");printff"EnterafloatFILLmber:"};scanf("%f",&n1);n2=fun(n1);printf("%6.4f/n",n2);}
问答题给定程序MODI1.C中函数fun的功能是: 将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。
例如, 字符串中的数据为: AABBCCDDEEFF,
则输出应当是:ABBCDDEFF。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
#define N 80
void fun(char *s, char t[])
{ int i, j=0;
for(i=0; i
/***********found**********/
if(i%2
/***********found**********/
t[i]='/0';
}
main()
{ char s[N], t[N];
printf("/nPlease enter string s : "); gets(s);
fun(s, t);
printf("/nThe result is : %s/n",t);
}
问答题下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为“dei35adh3kjsdf7”,执行后结果为“defadhajsdt3537”。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include<stdio.h>void fun(char*s){int i,j=0,k=0;char t1[80],t2[80];for(i=0;s[i]!='\0';i++)if(s[i]>='0'&&s[i]<='9'){/**********found**********/t2[j]=s[i];【1】;}else t1[k++]=s[i];t2[j]=0;t 1[k]=0;/**********found**********/for(i=0;i<k;i++)【2】;/**********found**********/for(i=0;i<【3】;i++)s[k+i]=t2[i];}main(){char s[80]="ba3a54j7sd567sdffs";printf("\nThe original string is:%s\n",s);fun(8);pfinff("\nThe result is:%s\n",s);}
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
例如,输入的分数是60 69,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。
请勿改动主函数main和其它函数中的任何内容,仪在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
#define N 16
typedef struct
{char num[10];
int s;
}STREC;
int fun(STREC*a,STREC*b,int l,int h)
{
}
main()
{STREC s[N]={{"GA005",85},{"GA003",76},
{"GA002",69},{"GA004",85},
{"GA001",96},{"GA007",72},
{"CA008",64},{"GA006",87},
{"GA015",85},{"GA013",94},
{"GA012",64},{"GA014",91},
{"GA011",90},{"GA017",64),
{"GA018",64},{"GA016",72}};
STREC h[N],tt;FILE*out;
int i,j,n,low,heigh,t;
prinTf("Enter 2 integer number low
scanf("%d%D",
if(heigh<low){t=heigh;heigh=low;low=t;}
n=fun(s,h,low,heigh);
printf("The student"s data between%d--%d:/n",low,heigh);
for(i=0;i<n;i++)
printf("%s %4d/n",h[i].num,h[i].s);
printf("/n");
out=fopen("c://test//out.dat","w");
n=fun(s,h,80,98);
fprintf(out,"%d/n",n);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(h[i].s>h[j].s)
{tt=h[i];h[i]=h[j];h[j]=tt;}
for(i=0;i<n;i++)
fprintf(out,"%4d/n",h[i].s);
fprintf(out,"/n");
fclose(out);
}
问答题在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。 例如,数组中元素的值依次为:39、一47、21、2、一8、15、0,则程序的运行结果为19.250000。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试题程序:#inclucte < conio.h >#2nclucle < stdio.h >double fun(int x[]){/*********found*********/ int sum=0.0; int c=0,i=0; while(x[i]!=0) f if(x[i] >0) { sum+=x[i]; c++; } i++; }/*********found*********/ sum/=c; return sum;}main(){ int x[1 0 00]; int i=0; printf f"/nPlease entersome ctat a(end with 0):"); do { scanf("%d",&x[i]); }while(x[i++]!=0); printf("%lf/n",fun(x));}
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。1 #include<stdio.h>2 #define N 163 typedef struct4 { char num[10];5 int s;6 } STREC;7 void fun(STREC a[])8 {9 }10 main()11 {STREC s[N]={''GA005'',85},{''GA003'',76},{''GA002'',69},{''GA004'',85},{''GA001”,91},{''GA007'',72},{''GA008'',64},{''GA006'',87},{''GA015'',85},{''GA013'',91},{''GA012'',64},{''GA014'',91},{''GA011'',66},{''GA017'',64},{''GA018'',64},{''GA016'',72}};12 int i;FILE *out;;13 fun(s);14 print;f(''The data after sorted:\n'');15 for(i=0; i<N;i++)16 { if((i)%4==0)printf(''\n'');17 printf(''%s%4d'',s[i].num,s[i].s);18 }19 printf(''\n'');20 out=fopen(''out.dat'',''w'');21 for(i=0;i<N;i++)22 {if((i)%4==0 && i) fprintf(out,''\n'');23 fprintf(out,''%4d'',s[i].s);}24 fprintf(out,''\n'');25 fclose(out);}
