77范文网 - 专业文章范例文档资料分享平台

二级C语言上机考试复习资料,共有50套题目(6)

来源:网络收集 时间:2019-04-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

学海教育 内部资料 版权所有 翻印必究

符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中填入你编写的若干语句。 的任何内容,仅在函数fun指定的部位填入所编写的若干语句。 #include void fun ( int a[3][3], int b[3][3]) #include { #define N 20 void } void fun( char *a , char *s) main( ) /* 主程序 */ { { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, t[3][3] ; int i, j ; } void main() fun(a, t) ; { char s1[N], *s2=\ for (i = 0 ; i < 3 ; i++) { fun( s1,s2); for (j = 0 ; j < 3 ; j++) printf(\ printf(\ printf(\ printf(\} } } 29、请编一个函数fun(char *s),函数的功能是把s所指字符串中的内容逆 32、请编写函数fun,函数的功能是查找x在s所指数组中下标的位置作为置。 函数值返回,若x不存在,则返回-1。 例如:字符串中原有的字符串为:abcdefg, 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其它函数中 则调用该函数后, 串中的内容为:gfedcba。 的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 注意: 部分源程序存在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中#include 填入你编写的若干语句。 #include #include #define N 15 #include void #define N 81 int fun( int *s, int x) void fun ( char *s ) { { } } main() main( ) { int a[N]={ 29,13,5,22,10,9,3,18,22,25,14,15,2,7,27},i,x,index; { printf(\数组中的数据 :\\n\ void for(i=0; i2)。 100 400 700 例如,若输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4十个得分, 200 500 800 则输出结果为:8.687500。 300 600 900 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中 注意: 部分源程序在文件PROG1.C中。 的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中#include 填入你编写的若干语句。 void #include double fun(double a[ ] , int n) void fun(int array[3][3]) { { } } main() main() { double b[10], r; int i; { printf(\输入10个分数放入b数组中 : \ int i,j;void for (i=0; i<10; i++) scanf(\ int array[3][3]={{100,200,300}, printf(\输入的10个分数是 : \ {400,500,600}, for (i=0; i<10; i++) printf(\ printf(\ {700,800,900}}; r = fun(b, 10); for (i=0;i<3;i++) printf(\去掉最高分和最低分后的平均分 : %f\\n\ { for (j=0;j<3;j++) } printf(\ printf(\ 31、请编写函数fun, 函数的功能是:实现B=A+A', 即把矩阵A加上A的 } 转置, 存放在矩阵B中。计算结果在 main 函数中输出。例如,输入下面的矩阵: fun(array); 其转置矩阵为: printf(\ 1 2 3 1 4 7 for (i=0;i<3;i++) 4 5 6 2 5 8 { for (j=0;j<3;j++) 7 8 9 3 6 9 printf(\ 程序输出: printf(\ 2 6 10 } 6 10 14 } 10 14 18 34、N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链 注意: 部分源程序在文件PROG1.C中。 表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。

26

学海教育 内部资料 版权所有 翻印必究

例如,若学生的成绩是:85,76,69,85,91,72,64,87, 则平均分应当是:78.625。

注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include #define N 8 struct slist { double s;

struct slist *next; };

typedef struct slist STREC; double fun( STREC *h ) { }

STREC * creat( double *s)

{ STREC *h,*p,*q; int i=0;

h=p=(STREC*)malloc(sizeof(STREC));p->s=0; while(i

{ q=(STREC*)malloc(sizeof(STREC)); q->s=s[i]; i++; p->next=q; p=q; }

p->next=0; return h; }

outlist( STREC *h) { STREC *p;

p=h->next; printf(\ do

{ printf(\ while(p!=0); printf(\}

main()

{ double s[N]={85,76,69,85,91,72,64,87},ave; void

STREC *h;

h=creat( s ); outlist(h); ave=fun( h );

printf(\}

35、编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为: asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出6。

注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include

int fun(char *str,char *substr) { }

main() {

void

char str[81],substr[3]; int n;

printf(\输入主字符串: \ gets(str);

printf(\输入子字符串: \ gets(substr); puts(str); puts(substr); n=fun(str,substr); printf(\}

36、编写函数fun,函数的功能是: 从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。

若程序执行时输入字符串为: turbo c and borland c++

从键盘上输入字符:n, 则输出后变为: turbo c ad borlad c++ 如果输入的字符在字符串中不存在, 则字符串照原样输出。 注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。

#include #include void fun(char s[],char c) { }

main() {

void

static char str[]=\ char ch;

printf(\原始字符串:%s\\n\ printf(\输入一个字符:\ scanf(\ fun(str,ch);

printf(\}

37、请编一个函数void fun(int tt[M][N ], int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。

注意: 部分源程序存在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #define M 3 #define N 4

void fun ( int tt[M][N], int pp[N] ) { }

main( ) {

void

int t [ M ][ N ]={{22,45, 56,30},

{19,33, 45,38}, {20,22, 66,40}}; int p [ N ], i, j, k;

printf ( \ for( i=0; i

printf ( \ printf(\ }

fun ( t, p );

printf( \ is:\\n\

for ( k = 0; k < N; k++ ) printf ( \ printf(\}

38、函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为:\,其中字符B的ASCII码值为偶数、?、字符2的ASCII码值为偶数、? 都应当删除,其它依此类推。最后t所指的数组中的内容应是:\。 注意: 部分源程序存在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include

void fun(char *s, char t[]) { }

main() {

void

char s[100], t[100];

printf(\ fun(s, t);

printf(\}

39、编写函数fun,它的功能是计算:

s作为函数值返回。

27

学海教育 内部资料 版权所有 翻印必究

在C语言中可调用log ( n )函数求ln (n)。log函数的引用说明是:double log(double x)。

例如,若m的值为: 20,fun函数值为: 6.506583。 注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include

double fun( int m ) { }

main() {

void

printf(\}

40、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是: ABCDEFG*******。

注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include

void fun( char *a, char *p ) { }

main()

{ char s[81],*t; void

printf(\ t=s;

while(*t)t++; t--;

while(*t=='*')t--; fun( s , t );

printf(\}

41、编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

1 1 1

S=1 + ── + ─── + ... + ────── 1+2 1+2+3 1+2+3+...+n

例如:若n的值为11时,函数的值为:1.833333 注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include double fun(int n) { }

main()

{ int n; double s; void

printf(\ s = fun(n);

printf(\}

42、请编写函数fun, 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入, 规定所有单词由小写字母组成,单词之间由若干个空格隔开, 一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 #include #include #define N 80 int fun( char *s) { }

main()

{ char line[N]; int num=0;void printf(\ num=fun( line );

printf(\ : %d\\n\\n\}

43、请编写函数fun,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中, 其余依此类推, 把100岁 (含100)以上年龄的人数都放在d[10]中。结果在主函数中输出。

注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #define N 50 #define M 11

void fun( int *a, int *b) { }

double rnd()

{ static t=29,c=217,m=1024,r=0; r=(r*t+c)%m; return((double)r/m); }

main()

{ int age[N], i, d[M];void

for(i=0; i

for(i=0;i

for(i=0;i<10;i++)printf(\ : M\\n\ printf(\ Over 100 : M\\n\}

44、程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun( int a[][N]),函数的功能是:使数组左下三角元素中的值全部置成0 。例如:a 数组中的值为

| 1 9 7 | | 0 9 7 | a = | 2 3 8 | 则返回主程序后a数组中的值应为 | 0 0 8 | | 4 5 6 | | 0 0 0 | 注意: 部分源程序存在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include #include #define N 5

void fun ( int a[][N] ) { }

main ( ) {

void

int a[N][N], i, j;

printf(\ for ( i =0; i

{ a[i][j] = rand(); printf( \ printf(\ }

fun ( a );

printf (\ RESULT\\n\ for ( i =0; i

{ for ( j =0; j

45、程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m 。 例如:若m的值为2,a 数组中的值为

| 1 9 7 | | 2 18 14| a = | 2 3 8 | 则返回主程序后a数组中的值应为 | 2 6 16| | 4 5 6 | | 4 5 12| 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 #include

28

学海教育 内部资料 版权所有 翻印必究

#include #define N 5

void fun ( int a[][N], int m ) { }

main ( )

{ int a[N][N], m, i, j;void

printf(\ for ( i =0; i

{ a[i][j] = rand() ; printf( \ printf(\ }

do m = rand() ; while ( m>=3 ); printf(\ fun ( a ,m );

printf (\ RESULT\\n\ for ( i =0; i

{ for ( j =0; j

46、程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N], int n),函数的功能是:使数组左下三角元素中的值乘以n 。例如:若n的值为3,a 数组中的值为

| 1 9 7 | | 3 9 7 | a = | 2 3 8 | 则返回主程序后a数组中的值应为 | 6 9 8 | | 4 5 6 | | 12 15 18| 注意: 部分源程序存在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include #include #define N 5

void fun ( int a[][N], int n ) { }

main ( ) {

void

int a[N][N], n, i, j;

printf(\ for ( i =0; i

{ a[i][j] = rand(); printf( \ printf(\ }

do n = rand() ; while ( n >=3 ); printf(\ fun ( a, n );

printf (\ RESULT *****\\n\ for ( i =0; i

{ for ( j =0; j

47、请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。

注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。 #include #include void

long fun( char *s ) { }

main()

{ char s[10]; long r;

printf(\请输入一个长度不超过9个字符的数字字符串 : \ gets(s); r = fun( s );

printf(\}

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(\ M\\n\ printf(\

out = fopen(\ h=fun(s,\

fprintf(out,\ M\\n\ fclose(out); }

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(\ %4.1f\\n\ printf(\

out = fopen(\ fprintf(out, \ for(i=0;i

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); }

29

学海教育 内部资料 版权所有 翻印必究

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的花括号中3、(1)for(j=i+1;j<6;j++)(2)*(pstr+i)=*(pstr+j);

4、(1)#define FU(m,n) ((m)/(n))(2)return (value); 5、(1)while((fabs(t))>=num)(2)t=s/n; 6、(1)m=i;(2)if(a[k]>a[m]) m=k; 7、(1)double r;(2)while(fabs(m-n)>0.001) 8、(1)double fun(int m)(2)for(i=100;i<=m;i~1+=0) 9、(1)num[k]=0;(2)switch(*s) 填入你编写的若干语句。 #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(\

for(i=0; i

printf(\

for(i=0;i

参考答案

一、程序填空题 1、(1)b[k](2)N/2(3)< 2、(1)[N](2)i(3)i+1 3、(1)j++(2)s[i]=t1[i](3)j 4、(1)[N](2)t[i][j](3)t[j][i] 5、(1)t=i(2)i(3)0 6、(1)tt(2)tt.score[i](3)std 7、(1)sum=0(2)t[i][i](3)1 8、(1)0(2)x[i]/N(3)j++ 9、(1)x[i]/N(2)j++(3)i++ 10、(1)s/N(2)j++(3)-1 11、(1)1(2)j++(3)j 12、(1)M(2)<(3)k 13、(1)std[i].year(2)std[i](3)n 14、(1)1(2)i(3)a[p+i] 15、(1)FILE *(2)fp(3)ch 16、(1)a[0][i](2)<(3)x,y 17、(1)s[i](2)'9'(3)*t=n 18、(1)a[i](2)a[j](3)a[j] 19、(1)j(2)k(3)p 20、(1)i++(2)m(3)m 21、(1)a[i]%2(2)a[j](3)j 22、(1)0(2)||(3)1 23、(1)'0'(2)s++(3)ctod(a)+ctod(b) 24、(1)1(2)s[k](3)c 25、(1)ss[i](2)n+j(3)1 26、(1)N(2)N-1(3)0 27、(1)double(2)f1(3)f2 28、(1)pb(2)p->data(3)p->next 29、(1)i+1(2)k=j(3)t 30、(1)a[i](2)m(3)m/10 31、(1)&&(2)0(3)s[j] 32、(1)i%5(2)\\n(3)a[i] 33、(1)N(2)break(3)n 34、(1)char(2)ch<='9'(3)'0' 35、(1)[N](2)len(3)*n=len 36、(1)k(2)len(3)ss[i][j] 37、(1)*std(2)std[i].age(3)max.name 38、(1)STU(2)std[i].num(3)std[i] 39、(1)0(2)j--(3)j 40、(1)t[][N](2)i=0;i(3)fwrite 44、(1)*std(2)PERSON(3)std 45、(1)*av(2)i(3)x[j] 46、(1)STU(2)score[i](3)&std 47、(1)0(2)t(3)i+t 48、(1)n/2(2)i(3)a[n-i-1] 49、(1)*a(2)2(3)i+1 50、(1)FILE *(2)fclose(fp)(3)fp 二、程序修改题 1、(1)int t[N] ,i, num=0;(2)t[num++]=b[i];(3)for(i=0; i

10、(1)#include \(2)upfst(char *p) 11、(1)t=a;a=b;b=t;(2)return(b); 12、(1)if(('a'<=tt[i])&&(tt[i]<='z'))(2)tt[i]-=32; 13、(1)IsPrime(int n)(2)if(!(n%i)) 14、(1)float k;(2)if(*c>*a) 15、(1)s[j++]=s[i];(2)s[j]=0; 16、(1)void fun(int *x,int *y)(2)t=*x;*x=*y;*y=t; 17、(1)t=*x;*x=y;(2)return t; 18、(1)switch(g)(2)case 1: return 1; case 2:return 1; 19、(1)while(i a[i][j] ) 31、(1)for(i=2;i<=m;i++)(2)y+=1.0/i/i; 32、(1)return t;(2)for(i=0;ia[mid]) 41、(1)double sum=0.;(2)sum /= c; 42、(1)p=(NODE *)malloc(sizeof(NODE));(2)return h; 43、(1)p=s;(2)while(*p++); 44、(1)int k,q,i;(2)pt[i]=str[k][i]; 45、(1)float fun(int n)(2)for (i=1; i0)(2)else if(k==0) 47、(1)b[i]=0;(2)b[a[i] - 'a']++;(3)if (b[max] < b[i]) 48、(1)n= *p-'0';(2)n=n*8+*p-'0'; 49、(1)sum=0;(2)if((i+1)%5==0) 50、(1)t=(STU *)calloc(sizeof(STU),m);(2)t[k]=b[j]; 三、程序编写题 1、 int count=0; while(*s!='\\0') { if(*s>=48 && *s<=57) count++; s++; } return count; 2、len=strlen(a[i]) ; if(maxlen

int i,len=0;

while(a[len] == '*') len++; i=len;

while(a[i]!= '\\0') { a[i-len]=a[i]; i++;

30

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库二级C语言上机考试复习资料,共有50套题目(6)在线全文阅读。

二级C语言上机考试复习资料,共有50套题目(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/573299.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: