当前位置:首页 > 计算机二级C语言上机编程题及答案
{ } main ( ) { void
int a[N][N], n, i, j;
printf(\
for ( i =0; i { for ( j =0; j { a[i][j] = rand(); printf( \a[i][j] ); } printf(\ }
do n = rand() ; while ( n >=3 ); printf(\ fun ( a, n );
printf (\
for ( i =0; i { for ( j =0; j printf(\ } }
46、void fun ( int a[][N], int n ) { int i,j;
for(i=0;i for(j=0;j<=i;j++) a[i][j]=a[i][j]*n; }
47、请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。 #include #include void long fun( char *s ) { } main()
{ char s[10]; long r;
printf(\请输入一个长度不超过9个字符的数字字符串 : \ r = fun( s );
printf(\
}
47、 long fun( char *s ) {int i,j; long int p; i=strlen(s); p=s[0]-48; for(j=1;j
p=p*10+(s[j]-48); return p; }
48、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp, strcmp(a, b)当a和b字符串相等时返回值为0)。 注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include #include #define N 16 typedef struct { char num[10]; int s; } STREC;
STREC fun( STREC *a, char *b ) { int i;
STREC t = {'\\0', -1}; } main()
{ STREC s[N]={{\ {\ {\ {\ STREC h; char m[10]; int i;FILE *out ;
printf(\
for(i=0; i { if(i%4==0) printf(\ printf(\
}
printf(\ h=fun( s,m );
printf(\ printf(\ printf(\
out = fopen(\ h=fun(s,\
fprintf(out,\ fclose(out); }
48、STREC fun( STREC *a, char *b ) {
STREC res; int i;
for(i=0;i {
if(strcmp(a[i].num,b)==0) {
res=a[i];
return res; } }
strcpy(res.num,\ res.s=-1; return res; }
49、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。 注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include #define N 8 typedef struct { char num[10]; double s; } STREC;
double fun( STREC *a, STREC *b, int *n ) { } main()
{ STREC s[N]={{\ {\ STREC h[N],t;FILE *out ; int i,j,n; double ave; ave=fun( s,h,&n );
printf(\ for(i=0;i printf(\ printf(\
out = fopen(\ fprintf(out, \
for(i=0;i for(j=i+1;j if(h[i].s>h[j].s) {t=h[i] ;h[i]=h[j]; h[j]=t;}
for(i=0;i fprintf(out,\ fclose(out); }
49、double fun( STREC *a, STREC *b, int *n ) {
int i,j;
double ave,sum=0.0; *n=0;
for(i=0;i { sum+=a[i].s; }
ave=sum/N;
for(i=0,j=0;i { if(a[i].s<=ave) {
b[j]=a[i]; j++; (*n)++; } i++; }
return ave;
}
50、请编写函数fun, 函数的功能是: 删去一维数组中所有相同的数, 使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
例如, 一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。 注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。
#include #define N 80 int fun(int a[], int n) { } main()
{ int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;void printf(\ 50、int fun(int a[], int n) {
int i,j=0; for(i=1;i { if(a[i]!=a[j]) { j++; a[j]=a[i]; } }
return j+1; }
for(i=0; i for(i=0;i
共分享92篇相关文档