学海教育 内部资料 版权所有 翻印必究
符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中填入你编写的若干语句。 的任何内容,仅在函数fun指定的部位填入所编写的若干语句。 #include
26
学海教育 内部资料 版权所有 翻印必究
例如,若学生的成绩是:85,76,69,85,91,72,64,87, 则平均分应当是:78.625。
注意: 部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include
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 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 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 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 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 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 main() { int n; double s; void printf(\ s = fun(n); printf(\} 42、请编写函数fun, 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入, 规定所有单词由小写字母组成,单词之间由若干个空格隔开, 一行的开始没有空格。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 #include 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 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 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 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 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 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 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 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 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 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 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)在线全文阅读。
相关推荐: