全国计算机二级C上机 编程题(4)

2019-03-29 14:34

fun(s);

fprintf(wf,\ fclose(wf);}

30.请编写一个函数fun,它的功能是:求出—个2×M整型二维数组中最大元素的值,并将此值返回调用函数。 #define M 4

#include fun (int a[][M] )

{ int i,j,max= a[0][0] ; for(i=0;i<2;i++) for(j=0;j

if(max

main( ) {

FILE *wf;

int arr[2][M]={5,8,3,45,76,-4,12,82}; printf(\ wf=fopen(\ fprintf (wf,\ fclose(wf);}

31.请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。

例如,若s所指字符串中的内容为ABCDEFGl23456,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是246。 #include #include #include

void fun(char*s, char t[]) { int i,j=0;

for(i=0;s[i]!= '\\0' ;i++)

if(i%2==0 && s[i]%2==0) t[j++]=s[i]; t[j]='\\0'; }

main( )

{ FILE *wf;

char s[100] ,t[100];

printf(\ scanf(\ fun(s,t);

printf(\

-16-

wf=fopen(\ fun(\ fprintf(wf,\ fclose(wf);}

32.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如,若s所指字符串中的内容为ABCDEFG12345,其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是135。 #include #include #include

void fun (char *s, char t[ ]) { int i, j=0, n; n=strlen(s);

for( i=0; i

if(i%2!=0&&s[i]%2!=0) { t[j]=s[i];j++;} t[j]= '\\0' ; } main( )

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

printf(\ scanf(\ fun(s,t);

printf(\

33.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 例如,字符串中的内容为****A*BC*DEF*C*******,若n的值为4,删除后,字符串中的内容则应当是****A*BC*DEF*G****,若n的值7,则字符串中的内容仍为****A*BC*DEF*C*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。 #include #include

void fun ( char *a , int n ) { int i=0, k=0; char *p, *t; p=t=a;

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

while (*t==’*’) {k++; t-- ;} t++; if (k>n)

{ while(*p&&p

-17-

}

main( ) {

FILE *wf;

char s[81],*t=\ printf(\ gets(s); fun(s);

printf(\ puts(s);

wf=fopen(\ fun(t);

fprintf(wf,\ fclose(wf); }

34.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不只一个,函数返回分数最高的学生的人数。 #include #define N 16 typedef struct { char num[10]; int s ; }STRUC;

int fun (STRUC *a, STRUC *b) { int i,j=0,max=a[0].s; for(i=0;i

if(max

if(max==a[i].s) b[j++]=a[i]; return j; }

main ()

{ STRUC s[N]={{\ {\ {\ {\ STRUC h[N]; int i, n; FILE *out; n=fun(s,h);

printf(\

-18-

for (i=0; i

printf(\ printf(\

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

fprintf(out, \ fclose(out); }

35.请编写一个函数,用来删除字符串中的所有空格。 例如,输入asd af aa z67,则输出为asdafaaz67。 #include #include #include int fun(char *str) { char *p=str; for(; *str; str++)

if(*str!=' ') *p++=*str; *p='\\0'; }

main( )

{ char str[81];int n;

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

printf(\

36.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。

例如,若字符串中的内容为*******A*BC*DEF*G****,移动后,字符串中的内容应当是A*BC*DEF*G**********。在编写函数时,不得使用C语言提供的字符串函数。 #include #include void fun ( char *a)

{ int i=0,n=0 ; char *p ; p=a;

while (*p=='*') {n++ ; p++; }

while (*p) { a[i]= *p ; i++; p++ ; } while(n!=0) { a[i]= '*' ;i++ ;n-- ; } a[i]= '\\0' ; }

main( )

-19-

{

FILE *wf;

char s[81],*t=\ printf(\ gets(s); fun(s);

printf(\ puts(s);

wf=fopen(\ fun(t);

fprintf(wf,\ fclose(wf); }

37.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。 例如,若学生的成绩是85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应当是78.875。 #include #define N 8 typedef struct { char num[10]; double s[N]; double ave; } STRUC;

void fun(STRUC *p) { int i;

p->ave=0.0 ; for(i=0;i

p->ave=p->ave+p->s[i]; p->ave= p->ave/N ; }

main( ) {

FILE *wf;

STRUC s={ \ int i; fun(&s);

printf(\ for(i=0;i

printf(\

printf(\ wf=fopen(\

fprintf(wf,\ fclose(wf);}

-20-


全国计算机二级C上机 编程题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:社会资本与永续社区发展 概念探讨与研究议题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: