好文档 - 专业文书写作范文服务资料分享网站

全国计算机等级考试2级C语言上机题库 

天下 分享 时间: 加入收藏 我要投稿 点赞

tot += a[i][0] ;

tot += a[i][N-1] ; } return tot ;} 第二十一套:

21.1 填空 计算行参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据以至x所指数组的后部,平均值作为函数值返回,在主函数输出平均值和移动后的数据。例如:有10个正数:46 30 32 40 6 17 45 15 48 26 平均值:30.5移动后输出: 46 32 40 45 48 30 6 17 15 26。 #define N 10 double fun(double *x)

{ int i, j; double s, av, y[N]; s=0;

for(i=0; i

for(i=j=0; iav ){

/**********found**********/ y[j++]=x[i]; x[i]=-1;} for(i=0; i

/**********found**********/

if( x[i]!= -1) y[j++]=x[i]; for(i=0; i

21.2 改错 读入一个英文文本本行,将其中每个单词的第一个字母改写成大写,然后输出次文本行(这里的“单词”是指由空格阁开的字符串)。 例如 输入: I am a student to take the examination, 输出: I Am A Student To Take The Examination。 /************found************/ #include

/************found************/ upfst ( char *p ) { int k=0; for ( ; *p; p++ ) if ( k )

{ if ( *p == ' ' ) k = 0; } else if ( *p != ' ' )

{ k = 1; *p = toupper( *p ); }}

21.3 程序 求出数组周边元素depjz并作为hansz返回主函数中的s例如: a 数组中的值为 主程序s的值为3.375。 #define N 5 double fun ( int w[][N] ) { int i, j, n=0; double sum=0;

for ( i =0; i

sum+=w[0][i]+w[N-1][i]; n+=2; }

for ( i =1; i

return sum/n;} 第二十二套:

22.1填空 将自然数1----10以及他们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。 int fun(char *fname )

{ FILE *fp; int i,n; float x; if((fp=fopen(fname, \ return 0; for(i=1;i<=10;i++)

/**********found**********/

fprintf(fp,\ printf(\!\\n\/**********found**********/ fclose(fp);

printf(\/**********found**********/ if((fp=fopen(fname,\ return 0;

fscanf(fp,\ while(!feof(fp))

{ printf(\ fscanf(fp,\ } fclose(fp);

return 1;}

22.2 改错 Fun的功能:将n个无序整数从小到大排序。 fun ( int n, int *a ) { int i, j, p, t;

for ( j = 0; j

{ p = j;

/************found************/ for ( i=j+1; ia[i] )

/************found************/ p=i; if ( p!=j )

{ t = a[j]; a[j] = a[p]; a[p] = t; } }}

22.3程序 将两个两位的正整数a,b合并成一个整数放在c中。合并方式是:将a数的十位和个位依次放在c数de个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如, 当a=45,b=12时,调用该函数后c=2514。 void fun(int a, int b, long *c)

{ *c=(b)*1000+(a)*100+(b/10)*10+(a/10);} main()

{ int a,b; long c;

printf(\

scanf(\ fun(a, b, &c);

printf(\ NONO();} 第二十三套:

23.1填空 找出N×N矩阵中每列元素的最大值,并按顺序依次存放于行参b所指的一维数组中。 #define N 4

void fun(int (*a)[N], int *b) { int i,j;

for(i=0; i

/**********found**********/ b[i]= a[0][i];

for(j=1; j

/**********found**********/

if(b[i] < a[j][i]) b[i]=a[j][i]; }}

23.2改错 交换主函数中两个变量的值。例如:若变量a中的值原为8,b中的值为3。程序运行后a的值为3,b中的值为8。 #include

/*********found**********/ int fun(int *x,int *y) { int t;

/*********found**********/

t=*x;*x=*y;*y=t;}

23.3程序 求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。 #define MAX 100

int fun(int lim, int aa[MAX]) { /* 以下代码仅供参考 */

int i,j,k=0;

/* 其中变量k用于统计素数个数 */

for(i=2;i<=lim;i++)

{ /* 以下完成判断aa数组中小于或等于lim的素数并统计个数 */ for(j = 2 ; j <= (i/2) ; j++) if(i % j == 0) break; if(j > (i/2)) aa[k++] = i; } return k; } 第二十四套:

24.1填空 函数fun功能是将行参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。例如a的数据中 学号、姓名、和三门的成绩是:10001、“zhangsan”、95、80、88,修改后输出t中的数据应为:10002、“LiSi”、96、81、89。 struct student { long sno;

char name[10];

float score[3];};

/**********found**********/

struct student fun(struct student a) { int i; a.sno = 10002;

/**********found**********/ strcpy(a.name, \

/**********found**********/ for (i=0; i<3; i++) a.score[i]+= 1;

return a;}

24.2改错 删除数列中值为x 的元素。n中存放的是数列中元素的个数。 #define N 20 fun(int *a,int n,int x) { int p=0,i; a[n]=x;

while( x!=a[p] ) p=p+1;

/**********found**********/ if(p==n) return -1; else

{ for(i=p;i

/**********found**********/ a[i]=a[i+1]; return n-1; }}

24.3程序 把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。 #define N 16 typedef struct { char num[10]; int s; } STREC;

int fun( STREC *a, STREC *b ) { int i, j = 0, min=a[0].s ; for(i = 0 ; i < N; i++) { if(min > a[i].s) {

j = 0 ; b[j++] = a[i] ; min = a[i].s ; } else if(min == a[i].s) b[j++] = a[i] ; } return j ;} 第二十五套:

25.1填空 人员的记录由编号和出生年月日组成。编号唯一。找出指定编号人员的数据,作为函数值返回,由主函数输出,若制定编号不存在,返回数据中的编号为空串。 #define N 8

typedef struct

{ char num[10];

int year,month,day ; }STU;

/**********found**********/ STU fun(STU *std, char *num)

{ int i; STU a={\ for (i=0; i

/**********found**********/ if( strcmp(std[i].num,num)==0 ) /**********found**********/ return (std[i]);

return a;}

25.2改错 从s所指zfc中,找出与t所指字符串相同的子串的个数作为函数值返回。例如,当s所指字符串中的内容为:“abcdabfab”,t所指字符串内容为:“ab”,则函数返回整数3。 int fun (char *s, char *t) { int n; char *p , *r; n = 0;

while ( *s ) { p = s; r = t; while ( *r )

if ( *r == *p ) {

/************found************/ r++; p++; } else break;

/************found************/ if ( *r == 0 )

n++; s++; } return n;}

25.3程序 将s所指zfc中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指zfc中de内容为:“ABCDEFG12345”,其中字符B的ASCII码值为偶数、…..都该删除,其他依次类推。最后t所指的数组中的内容为:“ACEG135”。 #include

#include

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

for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ; t[j] = 0 ;} 第二十六套:

26.1填空 给定程序中已建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数功能:删除链表中数据域值相同结点,使之只保留一个。 #define N 8 typedef struct list

全国计算机等级考试2级C语言上机题库 

tot+=a[i][0];tot+=a[i][N-1];}returntot;}第二十一套:21.1填空计算行参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据以至x所指数组的后部,平均值作为函数值返回,在主函数输出平均值和移动后的数据。例如:有10
推荐度:
点击下载文档文档为doc格式
8gmq84dbzq667gj1z1sv
领取福利

微信扫码领取福利

微信扫码分享