C语言上机总题库
更新时间:2017/2/5 18:58:00 浏览量:657 手机版
程序设计:
请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#define M 4
#include
fun (int a[][M])
{ /***********************Begin*********************/
/***********************End***********************/
}
【参考代码】 int i,j;
int max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j
if(a[i][j]>max)
max=a[i][j];
return max;
/*给定程序modi.c中函数fun的功能是:按以下递归公式求函数值。
┌ 10 (n=1)
fun(n)=┥
└ fun(n-1)+2 (n>1)
例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。
请改正程序中的错误,使它能得出正确结果。*/
#include
/************Error************/
void fun(n)
{ int c;
/************Error************/
if (n=1)
c=10;
else
c=fun(n-1)+2;
return(c);
}
main()
{ int n;
printf("Enter n: ");scanf("%d",&n);
printf("The result:%d\n\n",fun(n));
}
【参考答案】
int fun(n)
int fun(int n)
【参考答案】
if (n==1)
程序填空:
给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3.txt的文本文件中,
然后再顺序读出显示在屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
int fun(char *fname )
{ FILE *fp; int i,n; float x;
if((fp=fopen(fname, "w"))==NULL) return 0;
for(i=1;i<=10;i++) /**********fill**********/
fprintf(――fp――,"%d %f\n",i,sqrt((double)i));
printf("\nSucceed!\n"); /**********fill**********/
――fclose(fp)――;
printf("\nThe data in file :\n"); /**********fill**********/
if((fp=fopen(___fname__,"r"))==NULL)
return 0;
fscanf(fp,"%d%f",&n,&x);
while(!feof(fp))
{ printf("%d %f\n",n,x); fscanf(fp,"%d%f",&n,&x); }
fclose(fp);
return 1;
}
main()
{ char fname[]="myfile3.txt";
fun(fname);
}
【参考答案】
fprintf(fp,"%d %f\n",i,sqrt((double)i));
【参考答案】
fclose(fp);
【参考答案】
if((fp=fopen(fname,"r"))==NULL)
程序设计:
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,
它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,
平均分通过函数值返回。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#define N 8
typedef struct
{ char num[10];
double s;
} STREC;
double fun(STREC *a,STREC *b,int *n)
{ /***********************Begin*********************/
/***********************End***********************/
}
main()
{ STREC s[N]=
"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87}};
STREC h[N];FILE *out;
int i,n;double ave;
ave=fun(s,h,&n);
printf("The %d student data which is lower 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("out13.dat","w");
fprintf(out,"%d\n%7.3f\n",n,ave);
for (i=0;i
fprintf(out,"%s %4.1f\n",h[i].num,h[i].s);
fclose(out);
}
【参考代码】 int i,j=0;
double sum=0,ave;
for(i=0;i
sum=sum+a[i].s;
ave=sum/N;
for(i=0;i
if(a[i].s
b[j++]=a[i];
*n=j;
return ave;
/*给定程序MODI1.C中fun函数的功能是:根据整型形参m,计算如下公式的值。 1 1 1 1
t = 1 - ── - ── - ── - ??- ──
2 3 4 m
例如,若主函数中输入5,则应输出 -0.283333。
请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。*/
#include
double fun( int m )
{ double t = 1.0;
int i;
for( i = 2; i <= m; i++ )
/**********Error**********/
t = 1.0-1 /i; /**********Error**********/
__return(t)___;
}
main()
{ int m ;
printf( "\nPlease enter 1 integer numbers:\n" );
scanf( "%d", &m);
printf( "\n\nThe result is %lf\n", fun( m ) );
}
【参考答案】
t-=1.0/i;
t=t-1.0/i;
【参考答案】
return t;
return(t);
程序填空:
给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,
并在main函数中输出。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
typedef struct
{ char name[10];
int age;
}STD;
STD fun(STD std[], int n)