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

2019-03-29 14:34

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

double fun(STRUC *a, STRUC *b, int *n) { int i,j=0;

double av=0.0; for(i=0;i

for(i=0;i

if(a[i].s

return av; }

main( ) {

FILE *wf;

STRUC s[N]={{ \ { \ STRUC 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;ih[j].s)

{t=h[i]; h[i]=h[j]; h[j]=t;} for(i=0;i

fprintf(out, \ fclose(out);

wf=fopen(\

fprintf(wf, \ for(i=0;i

fprintf(wf, \ \ fclose(wf);

-31-

}

55.请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为:33 33 33 33 44 44 44 44 55 55 55 55

则一维数组中的内容应是:33 33 33 33 44 44 44 44 55 55 55 55 #include

void fun (int (*s)[10], int *b, int *n, int mm, int nn) { int i,j,k=0;

for(i=0;i

main( ) {

FILE *wf;

int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}}, i, j; int a[100]={0},n=0 ; printf(\ for (i=0; i<3; i++) {for (j=0;j<4;j++)

printf(\ printf(\ }

fun(w,a, &n,3,4);

printf(\ for(i=0; i

wf=fopen(\ for(i=0; i

fprintf(wf,\ fclose(wf); }

56.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的则内容应当是ABCDEFG*******。 #include #include

void fun(char *a,char *p)

-32-

{ char *t=a; for(;t<=p;t++)

if(*t!='*' ) *(a++)=*t;

for(;*t!='\\0' ;t++) *(a++)=*t; *a='\\0'; }

main( ) {

FILE *wf;

char h[81],*t,p[81]=\ printf(\ gets(h); t=h;

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

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

printf(\ puts(h);

wf=fopen(\ t=p;

while(*t) t++;

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

fprintf(wf,\ fclose(wf); }

57.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

例如,输入的分数是60和69,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在high中。 #include #define N 16 typedef struct { char num[10]; int s ; }STRUC;

int fun (STRUC *a, STRUC *b, int l, int h )

-33-

{ int i,j=0;

for(i=0;i

if(a[i].s>=l && a[i].s<=h) b[j++]=a[i]; return j; }

main () {

FILE *wf;

STRUC s[N]={{ \ {\ {\ {\ STRUC h[N],tt; FILE *out;

int i, j, n, low, heigh, t;

printf(\ scanf(\ if(heigh

{t=heigh;heigh=low; low=t;} n=fun(s,h,low, heigh);

printf(\ for(i=0;i

printf(\ printf(\

out=fopen(\ fprintf(out, \ n=fun(s,h,80,98); for(i=0;ih[j].s)

{tt=h[i];h[i]=h[j];h[j]=tt;} for(i=0;i

fprintf(out, \ fprintf(out, \ fclose(out);

wf=fopen(\ for(i=0;i

fprintf(wf, \ fclose(wf); }

58.编写函数fun,它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。例如,若n为1000时,函数值应为s=153.909064。

-34-

#include #include #include double fun(int n) { int sum,i;sum=0; for(i=0;i

{ if(i%3==0&&i%7==0) sum=sum+i;} return (sqrt(sum)); }

main( )

{ printf(\

59.请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。例如,若字符串数组中的M个字符串为:AAAA BBBBBBB CC

则合并后的字符串的内容应是AAAABBBBBBBCC。 #include #include #define M 3 #define N 20

void fun(char a[M][N],char *b) { int i,j, k=0;

for(i=0;i

for(j=0;a[i][j]!='\\0';j++) b[k++]=a[i][j]; b[k]='\\0'; }

main( ) {

FILE *wf;

char w[M][N]={\

char a[100]={ \ printf(\ for(i=0;i

printf(\ printf(\ printf(\

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

-35-


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

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

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

马上注册会员

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