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

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

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

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

{ int k,i; double sum; for(k=2,i=0;i

for(k=0,i=0;i

/**********found**********/ if(i+1%5==0)

{ w[k]=sum/5; sum=0; k++; } }

return k; }

main( )

{ double a[SIZE],b[SIZE/5]; int i, k; k = fun(a,b);

printf(\ for(i=0; i

{ if(i%5==0) printf(\ printf(\ }

printf(\

for(i=0; i

50、给定程序MODI1.C中函数fun的功能是: 对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来, 并将这些学生数据存放在一个动态分配的连续存储区中, 此存储区的首地址作为函数值返回。

请改正函数fun中指定部位的错误, 使它能得出正确的结果。

注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! #include #include #include #define N 10 typedef struct ss { char num[10]; int s; } STU;

STU *fun(STU a[], int m) { STU b[N], *t; int i,j,k;

/**********found**********/ t=(STU *)calloc(sizeof(STU),m) for(i=0; i b[j].s) j=i; /**********found**********/ t(k)=b(j); b[j].s=0; }

return t; }

outresult(STU a[], FILE *pf) { int i;

for(i=0; i

fprintf(pf,\ Mark = %d\\n\ fprintf(pf,\}

main()

{ STU a[N]={ {\ {\ STU *pOrder; int i, m;

printf(\ outresult(a, stdout);

printf(\ \ scanf(\ while( m>10 )

{ printf(\ \ scanf(\ }

pOrder=fun(a,m);

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

printf(\ %s %d\\n\ free(pOrder); }

三、程序编写题

1、请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。

例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x, 函数fun返回值为:11

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

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

int fun(char *s) { }

main()

{ char *s=\ 3kjsdf 7/kj8655x\ printf(\

printf(\}

2、编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。)

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

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

void fun(char(*a)[81],int num,char **max) {

/* 以下代码仅供参考 */

int i,k=0,len, maxlen; /* k为a数组中最长串所在元素的下标,初始为0,maxlen为其串长 */ maxlen=strlen(a[k]); for(i=1;i

/* 以下完成查找最长串 */ }

*max=a[k]; }

main() {

char ss[10][81],*ps;void int n,i=0;

printf(\输入若干个字符串:\ gets(ss[i]); puts(ss[i]);

while(!strcmp(ss[i],\ {

i++;

gets(ss[i]); puts(ss[i]); } n=i;

fun(ss,n,&ps);

printf(\}

3、请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串: 123412132,输入字符为: 1,则输出:3。 注意: 部分源程序在文件PROG1.C中。

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

int fun(char *ss, char c) { }

main()

{ char a[M], ch; void

printf(\

printf(\

21

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

printf(\}

4、规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。

例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。

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

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

#include void fun( char *a ) { }

main()

{ char s[81]; void

printf(\ fun( s );

printf(\}

5、请编写一个函数void fun (char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中, a指向原字符串, 删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。

例如,输入一个字符串: World,然后输入3,则调用该函数后的结果为: Word。 注意: 部分源程序在文件PROG1.C中。

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

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

main( )

{ char str1[LEN], str2[LEN] ; int n ; void

printf(\ gets(str1) ;

printf(\ scanf(\ fun(str1, str2, n) ;

printf(\}

6、请编写一个函数 unsigned fun ( unsigned w ),w 是一个大于10的无符号整数,若 w 是 n (n ≥ 2)位的整数,函数求出w的低 n-1位的数作为函数值返回。

例如:w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。 注意: 部分源程序存在文件PROG1.C中。

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

unsigned fun ( unsigned w ) { }

main( ) {

void

unsigned x;

printf ( \ \ printf ( \ %u\\n\ if ( x < 10 ) printf (\

else printf ( \ : %u\\n\}

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

例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。在编写函数时,不得使用C语言提供的字符串函数。

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

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

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

main()

{ char s[81],*t, *f; void

printf(\ t=f=s;

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

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

printf(\}

8、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

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

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

#include #include #define N 10 typedef struct ss

{ char num[10]; int s; } STU; void fun( STU a[], STU *s ) { }

main ( )

{ STU a[N]={ {\ {\}, m ;

int i;void

printf(\

for ( i=0; i< N; i++ )printf(\ Mark = %d\\n\ fun ( a, &m );

printf (\ RESULT *****\\n\

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

9、请编写函数 fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如:二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8

1 3 5 7 0则函数值为 61。 注意: 部分源程序存在文件PROG1.C文件中。

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

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

main( )

{ int aa[M][N]={{1,3,5,7,9}, {2,9,9,9,4}, {6,9,9,9,8}, {1,3,5,7,0}}; int i, j, y;void

printf ( \ for ( i=0; i

{ for ( j =0; j

y = fun ( aa );

printf( \ sum: %d\\n\ printf(\

22

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

}

10、程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。 例如:a 数组中的值为

|0 1 2 7 9| |1 9 7 4 5| a = |2 3 8 3 1| |4 5 6 8 2|

|5 9 1 4 1|则返回主程序后s的值应为: 3.375。 注意: 部分源程序存在文件PROG1.C文件中。

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

double fun ( int w[][N] ) { }

main ( )

{ int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1}; int i, j;void double s ;

printf(\ for ( i =0; i

{ printf( \ printf(\ }

s = fun ( a );

printf (\ RESULT *****\\n\ printf( \ %lf\\n\}

11、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。

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

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

main()

{ char s[81]; void

printf(\ fun( s );

printf(\}

12、请编写函数fun,其功能是: 将所有大于1小于整数m的非素数存入xx所指数组中, 非素数的个数通过k传回。

例如,若输入:17,则应输出:4 6 8 9 10 12 14 15 16。 注意: 部分源程序在文件PROG1.C中。

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

#include

void fun( int m, int *k, int xx[] ) { }

main() {

int m, n, zz[100]; void

printf( \ scanf( \ fun( n, &m, zz );

printf( \ for( n = 0; n < m; n++ )

printf( \ M\}

13、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体

数组a中。请编写函数 fun,函数的功能是:找出成绩最高的学生记录,通过形

参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。 注意: 部分源程序存在文件PROG1.C中。

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

{ char num[10]; int s; } STU; void fun( STU a[], STU *s ) { }

main ( ) {

void

STU a[N]={ {\

{\}, m ;

int i;

printf(\

for ( i=0; i< N; i++ )printf(\ Mark = %d\\n\ fun ( a, &m );

printf (\ RESULT *****\\n\ printf (\ : %s , %d\\n\}

14、学生的记录由学号和成绩组成,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]={{\ {\ {\ {\ STREC h[N]; int i,n;FILE *out ; n=fun( s,h );

printf(\ for(i=0;i

printf(\ M\\n\ printf(\

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

fprintf(out, \ fclose(out); }

15、请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。 例如, 二维数组中的数据为: W W W W S S S S H H H H

则字符串中的内容应是: WSHWSHWSHWSH。 注意:部分源程序在文件PROG1.C中。

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

void fun(char s[][N], char *b) {

int i,j,n=0;

23

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

for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */ { }

b[n]='\\0'; }

main()

{ char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}}; int i,j;void

printf(\ for(i=0; i

{ for(j=0;j

fun(w,a);

printf(\ printf(\}

16、编写函数fun, 函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。 注意:部分源程序在文件PROG1.C中。

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

#include #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;void int aa[MAX] ;

printf(\输入一个整数:\ scanf(\ sum=fun(limit, aa);

for(i=0 ; i < sum ; i++) {

if(i % 10 == 0 && i != 0) printf(\ printf(\ } }

17、请编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数。

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

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

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

main( )

{ int aa[1000], n, k ; void

fun ( aa, &n ) ;

for ( k = 0 ; k < n ; k++ )

if((k + 1) % 10 == 0) printf(\ else printf(\}

18、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。

例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。

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

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

#define N 8 typedef struct { char num[10]; double s[N]; double ave; } STREC;

void fun(STREC *a) { }

main()

{ STREC s={\ int i; void fun( &s );

printf(\ for(i=0;i

printf(\ printf(\}

19、函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。 例如,若s所指字符串中的内容为\,其中字符C的ASCII码值为奇数,在数组中的下标为偶数, 因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标也为奇数,因此不应当删除,其它依此类推。 最后t所指的数组中的内容应是\。 注意: 部分源程序存在文件PROG1.C中。

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

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

main() {

char s[100], t[100];void

printf(\ fun(s, t);

printf(\}

20、编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。

迭代步骤如下:(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.739086。

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

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

#include #include double fun() { }

main() {

void

printf(\}

21、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做, 字符串中间和前面的*号不删除。

例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。 注意: 部分源程序在文件PROG1.C中。

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

24

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

#include

void fun( char *a,int n ) { }

main()

{ char s[81]; int n; void

printf(\ printf(\ \ fun( s,n );

printf(\}

22、请编写一个函数,函数的功能是删除字符串中的所有空格。 例如, 主函数中输入\则输出为 \。 注意:部分源程序在文件PROG1.C中。

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

main() {

char str[81];void

printf(\ gets(str); puts(str); fun(str);

printf(\}

23、请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入 (规定实型数为正数)。

例如:实型数为 1234.567, 则函数返回 1234.570000; 实型数为 1234.564, 则函数返回 1234.560000。 注意: 部分源程序存在文件PROG1.C文件中。

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

main( )

{ float a;void

printf (\ a: \ printf ( \ \ printf ( \

printf ( \ %f\\n\}

24、请编写一个函数 void fun(char *tt, int pp[]),统计在tt所指字符串中'a' 到 'z' 26个小写字母各自出现的次数,并依次放在pp所指数组中。

例如,当输入字符串:abcdefgabcdeabc 后,程序的输出结果应该是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 注意: 部分源程序在文件PROG1.C中。

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

#include #include

void fun(char *tt, int pp[]) { }

main( )

{ char aa[1000] ; int bb[26], k ; void

printf( \ a char string:\ fun(aa, bb ) ;

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

25、请编写函数fun, 对长度为7个字符的字符串, 除首、尾字符外,将其余5个字符按ASCII码降序排列。

例如,原来的字符串为 CEAedca,排序后输出为 CedcEAa 。 注意: 部分源程序在文件PROG1.C中。

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

void fun(char *s,int num) { }

main() {

void

char s[10];

printf(\输入7个字符的字符串:\ gets(s); fun(s,7);

printf(\}

26、编写函数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; void n=1000;

printf(\}

27、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。

例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。

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

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

void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */ {

int i; char t; t=w[0];

for(i=0;i<(int)strlen(w)-1;i++) w[i]=w[i+1]; w[strlen(w)-1]=t; }

void fun(char *w, int m) /* 可调用fun1函数左移字符 */ { }

main()

{ char a[N]= \ int m;void

printf(\

printf(\ m: \ fun(a,m);

printf(\ printf(\}

28、请编写函数fun,其功能是将形参s所指的字符串放入形参a所指的字

25

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

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