问答题下列给定程序中,函数fun的功能是:根据整形参m的值,计算如下公式的值。例如,若m中的值为5,则应输出0.536389。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(intm){doubley=1.0;inti;/*********found*********/for(i=2;i<m;i++)/*********found*********/y-=1/(i*i);return(y);}main(){intn=5;printf("\nTheresultis%lf\n",fun(n));}
问答题请编写函数fun,其功能是:计算并输出下列多项式的值。
S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))
例如,当n=10时,函数值为0.909091。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
double fun(int n)
{
}
void main()
{
system("CLS");
printf("%f/n",fun(10));
}
问答题给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 void fun(int *px,int *py)3 {4 /**********found**********/5 int___(1)___;6 scanf(''%d'',&k);7 /**********found**********/8 while___(2)__9 {if(k>0) a++;10 if(k<0)b++;11 /**********found**********/12 __(3)___;13 }14 *px=a;*py=b;}15 main()16 {int x,y;17 fun(&x,&y);18 printf(''x=%d y=%d\n'',x,y);19 }
问答题下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<scdio.h> #include<string.h> #define M 5 #define N 20 int funIchar(*ss)[N].int*n) int i.k=0,len=N; /********found********/ for(i=0;i小于 (1) ;i++] len=strlen(ss[i]); if(i==O)*n=len; /********found********/ if(len (2) *n) *n=len; k=i; /********fOund********/ return( (3) ); main() char ss[M][N]=["shanghai","guangzhou","beijing","tianjin","chongqing"); int n,k,i; printff"/nThe original strings are:/n"); for(i=0;i<M;i++)puts(ss[i]); k=fun(ss, printf("/nThe length of shortest string is:%d/n",n); printf("/nThe shortest string is:%s/n",ss[k]);
问答题下列给定程序中,函数fun()的功能是:先从键盘上输入一个3行3列的矩阵的各个元素的值,然后输出主对角线元素之和。 请改正函数fun()中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> int fun() int a[3] [3],sum; int i,j; /*************found**************/ sum=1; for (i=0;i<3;i++) for (j=0;j<3;j++) /*************found**************/ scanf("%d",a[i][j]); for(i=0;i<3;i++) sum=sum+a[i][i]; printf("Sum=%d/n",sum); main() fun();
问答题函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的干位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。 例如,当a=45,b=12。调用该函数后,c=4251。 注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include <stdio.h>void fun(int a, int b, long *c){}void NONO (){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */FILE *rf, *wf ;int i, a,b ; long c ;rf = fopen("in.dat","r") ;wf = fopen("out.dat","w");for(i = 0 ; i < 10 ; i++) {fscanf(rf, "%d,%d", fun(a, b, fprintf(wf, "a=%d,b=%d,c=%ld/n", a, b, c) ;}fclose(rf);fclose(wf);}main (){ int a,b; long c;void NONO ();printf("Input a, b:");scanf("%d%d", fun (a, b, printf ("The result is:%ld/n",c);NONO();}
问答题请编写函数fun。其功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。例如,若二维数组中的数据为33 33 33 3344 44 44 4455 55 55 55则一维数组中的内容应是:33 44 55 33 44 55 33 44 55 33 44 55注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>void fun(int(*s)[10],int*b,int*n,int mm,int nn){}main(){ int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}),i,j; int a[100]={0},n=0; printf("The matrix:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%3d",w[i][j]); printf("\n"); } fun(w,a,&n,3,4); printf("The A array:\n"); for(i=0 ;i<n; i++) printf("%3d",a[i]);}
问答题下列给定程序中,函数fun的功能是:根据整型参数m,计算如下公式的值。例如,若m=2000,则应输出0.000160。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>/*********found*********/fun(intm){doubley=0,d;inti;/*********found*********/for(i=100,i<=m,i+=100)fd=(double)i*(double)i;y+=1,0/d;}return(y);}voidmain(){intn=2000;system"'CLS");printf("/nTheresultis%lf/n",fun(n));}
问答题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#define N 12
typedef struct
{ char num[10];
double s;
} STREC;
double fun( STREC *a, STREC *b, int *n )
{
}
main()
{ STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},
/TAB /TAB {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},
/TAB /TAB {"GA09",60},{"GA11",79},{"GA12",73},{"GA10",90}};
STREC h[N], t;FILE *out ;
int i,j,n; double ave;
ave=fun( s,h,
printf("The %d student data which is higher than %7.3f:/n",n,ave);
for(i=0;i
printf("%s %4.1f/n",h[i].num,h[i].s);
printf("/n");
out = fopen("c://test//out.dat","w") ;
fprintf(out, "%d/n%7.3f/n", n, ave);
for(i=0;i
for(j=i+1;j
if(h[i].s
for(i=0;i
fprintf(out,"%4.1f/n",h[i].s);
fclose(out);
}
问答题请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。
例如,s所指字符串中的内容是:2def35adh253kjsdf7/kj8655x,
函数fun返回值为:11
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
void NONO();
int fun(char*s)
{
}
main()
{char*s="2def35adh25 3kjsdf7/kj8655x";
printf("%s/n",s);
printf("%d/n",fun(s));
NONO();
}
void NONO()
(/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*fp,*wf;
int i;
char s[256];
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fgets(s,255,fp);
fprintf(wf,"%d/n",fun(s));
}
fclose(fp);
fclose(wf);
}
问答题假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:ABCDEFG。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 文件PROG1.C内容如下: #include<stdio.h> void fun(char *a) void main( ) char s[81]; printf("Enter a string: /n");gets(s); fun(s); printf("The string after deleted:/n");pats(s);
问答题下列给定程序中,函数fun的功能是:将形参s所指字符串中下标为奇数的字符取出,并按ASCⅡ码大小递增排序,将排序后的字符存入形参P所指的字符数组中,形成一个新串。 例如,形参s所指的字符串为“baawrskjghzlicda”,执行后P所指字符数组中的字符串应为“aachjlsw”。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> void fun(char*s,char*p) int i,j,n,x,t; n=0; for(i=0;s[i]!='/0';i++)n++; for(i=l;i /********fOund********/ (1) ; /********found********/ for(j= (2) +2;j<n;j=j+2) if(s[t]>s[j])t=j; if(t!=i) (x=s[i];s[i]=s[t];s[t]=x;) for(i=1,j=0;i<n;i=i+2,j++) p[j]=s[i]; /********found********/ p[j]= (3) ; ( char s[80]="baawrskjghzlicda",p[50]; printf("/nThe original string is:%s/n",s); fun(s,p); printf("/nThe result is:%s/n",p);
问答题请编写函数proc(),其功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。
xn+1=cos(xn)
迭代步骤如下:
(1)取x1初始值为0.0;
(2)x0=x1,把?x1的值赋给x0;
(3)x1=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果root=0.739085。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<math.h>
#include<stdio.h>
float proc()
{
float x1=0.0, x0;
do
{
x0=x1;
x1=cos(x0);
}
while(fabs(x0-x1)>=1e-6);
return x1;
}
void main()
{
float f=proc();
printf("root=%f/n", f);
}
问答题下列给定程序中,函数fun的功能是:计算f(x)=1+x+<10一6。若x=2.5,函数值为12.182494。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>#include<math.h>doublefun(doublex){doublef,t;intn;/******found******/f=1.0+【1】;t=x;n=1;do{n++;/******found******/t*=x/【2】;/******found******/f+=【3】;}while(fabs(t)>=1e一6);returnf;}main(){doublex,y;x=2.5;y=fun(x);printf("Theresultis:\n");printf("x=%一12.6fy=%一12.6f\n",x,y);}
问答题编写函数fun,其功能是:将两个两位的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
例如,当a=45,b=12时,调用该函数后,c=5142。
注意:
数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
[试题源程序]
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
void fun(int a,int b,long*c)
{
}
void main()
{
int a,b;
long c;
system("CLS");
printf("Input a,b:");
scanf("%d%d",
fun(a,b,
printf("The result is:%ld/n",c);
}
问答题请编写函数proc(),对长度为9个字符的字符串,除首、尾字符外,将其余7个字符按ASCII码值降序排列。
例如,原来的字符串为HabcdefA,则排序后输出为HfedcbaA。
注意:部分源程序给出如下。
请勿改动main()和其他函数中的任何内容,仅在函数proc()中填入所编写的若干语句。
试题程序:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
void proc(char*m, int num)
{
}
void main()
{
char t[10];
system("CLS");
printf("输入9个字符的字符串:");
gets(t);
proc(t, 9);
printf("/n%s", t);
}
问答题编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
给定源程序如下。
#include<stdio.h>
#define MAX 100
int fun(int lim,int aa[MAX])
{
/*以下代码仅供参考*/
int i,j,k=0;
/*其中变量k用于统计素数个数*/
for(i=2;i<=lim;i++)
{
/*以下找出小于或等于lim的素数存入aa数组中并统计素数个数*/
}
return k;
}
main()
{
int limit,i,sum;
int aa[MAX];
printf("输入一个整数:");
scanf("%d",
sum=fun(limit,aa);
for(i=0;i<sum;i++){
if(i%10==0
printf("%5d",aa[i]);
}
}
问答题给定程序MODI1.C中fun函数的功能是:根据整型形参m,计算如下公式的值。例如,若主函数中输入5,则应输出-0.283333。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#includedoublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)/**********found**********/____________;/**********found**********/_______;}main(){intm;printf("/nPleaseenter1integernumbers:/n");scanf("%d",printf("/n/nTheresultis%lf/n",fun(m));}
问答题请编一个函数float fun(float h),该函数的功能是:对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如,若h的值为1234567,则函数返回1234.570000;若h的值为1234564,则函数返回1234.560000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
float fun(float h)
{
}
void main()
{
float a;
system("CLS");
printf("Enter a:");
scanf("%f",
printf("The original data is:");
printf("%f/n/n",a);
printf("The result:%f/n",fun(a));
}
问答题给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#include
int fun(char *source, char *target)
{ FILE *fs,*ft; char ch;
/**********found**********/
if((fs=fopen(source, ___1___))==NULL)
return 0;
if((ft=fopen(target, "w"))==NULL)
return 0;
printf("/nThe data in file :/n");
ch=fgetc(fs);
/**********found**********/
while(!feof(___2___))
{ putchar( ch );
/**********found**********/
fputc(ch,___3___);
ch=fgetc(fs);
}
fclose(fs); fclose(ft);
printf("/n/n");
return 1;
}
main()
{ char sfname[20] ="myfile1",tfname[20]="myfile2";
FILE *myf; int i; char c;
myf=fopen(sfname,"w");
printf("/nThe original data :/n");
for(i=1; i<30; i++){ c='A'+rand()%;fprintf(myf,"%c",c); printf("%c",c); }
fclose(myf);printf("/n/n");
if (fun(sfname, tfname)) printf("Succeed!");
else printf("Fail!");
}
