c二及试题库 联系客服

发布时间 : 星期日 文章c二及试题库更新完毕开始阅读fc1385b465ce050876321368

十四、结构体

} }

2,以下程序中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入n,再输入1,在考生目录的Paper子目录下,有Modify.c文件,该文件中\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。

该程序功能:该程序计算四位学生的平均成绩,保存在结构中,然后列表输出这些学生的信息。 #include struct STUDENT {

char name[16]; int math; int english; int computer; int average; };

void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */ {

int sum=0;

sum = pst->math+pst->english+pst->computer; pst->average = sum/3; }

void main() { int i; struct

STUDENT

st[4]={{\

{\ for(i=0;i<4;i++) {

GetAverage(&st[i]); }

printf(\ for(i=0;i<4;i++) {

printf(\st[i].english,

st[i].computer,st[i].average);

n个点的平面坐标,然后输出那些距离坐标原点不超过5的点的坐标值。 #include #include #include void main() { int i,n; /***** 1 *****/

struct axy { float x,y; } *a; scanf(\

a=(float*) malloc(n*2*sizeof(float)); for(i=0;i

scanf(\&a[i].x,&a[i].y); for(i=0;i

if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5) printf(\}

十五、枚举

1,在以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:调用函数f,求a数组中最大值与b数组中最小值之差。

#include

enum FLAG {positive=1,negative=-1}; float f(float *x,int n,enum FLAG flag) { float y; int i; y=x[0];

for(i=1;iflag*y) y=x[i]; return y; } void main()

{ float a[6]={3,5,9,4,2.5,1},b[5]={3,-2,6,9,1}; printf(\f(b,5, negative)); }

13

十六、位运算

1,以下程序中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:将一个char型数的高4位和低4位分离,分别输出,如22(二进制:00010110)输出为1和6。 #include void main() { char a,b1,b2,c; scanf(\ /****** 1 ******/

b1=a>>4; /*b1存放高4位*/ c=~(~0<<4); /****** 2 ******/

b2=a&c; /*b2存放低4位*/ printf(\}

十七、其它

1,以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include #include void main() { int n,s=0; scanf(\ n=fabs(n); while(n!=0) { s=s+n; n=n/10; }

printf(\ }

2,以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入1个整数后,输出该数的位数(若输入3214则输出4,输入-23156则输出5)。 #include

void main() { int n,k=0; scanf(\ while(n!=0 ){ k++; n=n/10; }

printf(\}

3,以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:将字符串s中所有的字符'c'删除。 #include void main() { char s[80]; int i,j; gets(s);

for(i=j=0;s[i]!=?\\0?;i++) if(s[i] != 'c') { s[j]=s[i]; j++; } s[j]='\\0'; puts(s); }

4,以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:调用find函数在输入的字符串中查找是否出现\这个单词。如果查到返回出现的次数;如果未找到返回0。 #include int find(char *str) { char *fstr=\ int i=0,j,n=0; while (str[i]!='\\0') { for(j=0;j<3;j++) if (str[j+i]!=fstr[j]) break; if (j>=3) n++; i++;

} return n; }

void main()

14

{ char a[80]; gets(a);

printf(\}

5,以下程序中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。 #include #include void main()

{ char a[81]; int n[5]={0},i; gets(a); for(i=0; a[i]!='\\0'; i++) /***** 1 *****/ switch(tolower(a[i])) { case 'a': n[0]++; break; case 'e': n[1]++; break; case 'i': n[2]++; break; case 'o': n[3]++; break; /***** 2 *****/ case 'u': n[4]++; }

for(i=0;i<5;i++)printf(\ }

6,以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:调用函数f,从字符串中删除所有的数字字符。 #include #include #include void f(char *s) { int i=0; while(s[i]!='\\0')

if(isdigit(s[i])) strcat(s+i,s+i+1); else i++; }

void main() { char str[80];

gets(str); f(str); puts(str); }

7,以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:分别统计字符串中英文字母、数字和其他字符出现

的次数。 #include #include void main()

{ char a[80]; int n[3]={0},i; gets(a); for(i=0;i

{if (tolower(a[i])>='a' && tolower(a[i])<='z') /*统计字母个数*/ n[0]++; else if (a[i]>=?0?&&a[i]<=?9?) /*统计数字个

数*/ n[1]++;

else

n[2]++;

}

for(i=0;i<3;i++) printf(\ }

8,以下程序中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。 #include #include #include void main() { int n,i; /***** 1 *****/ char *str; scanf(\

str=(char*)malloc(n);

gets(str);

/***** 2 *****/ for(i=0;i

if(str[i]>='a'&& str[i]<='z') str[i]=str[i]-('a'-'A'); puts(str); }

9,以下程序中\N ____\是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出,如’a’变成’f’, ‘w’变成’b’。 #include void main() { char c; c=getchar();

15

if( c>=?a?&&c

else if (c>='v' && c<='z') c=c-21; putchar(c); }

10,在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:输入1个字符串,按字母首次出现次序输出其中所出现过的大写英文字母。如运行时输入字符串\and FILENAME\,应输出\。 #include void main()

{ char x[80],y[26]; int i,j,ny=0; gets(x);

for(i=0;x[i]!='\\0';i++) if(x[i]>='A'&&x[i]<='Z') { for(j=0;j

/***** 2 *****/ for(i=0;i

16