2013年计算机二级C语言编程机试题

更新时间:2024-06-04 02:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

新科电脑培训学校2013年9月份二级C语言机试资料

删除星号(1、4、55、59、63、64、65、66、85、93) .............................................................................. 2 将a和b两个数组成一个新数c(9、40、67、69、94、95、96、97) ...................................................... 6 结构体问题(6、7、8、10、11、42、43、68、84、86) 6 ......................................................................... 7 链表编程题(12、70) .................................................................................................................................... 11 求和问题(2、20、21、22、25、44、46、53 、61、 62、 90、 91) .................................................. 12 二维数组题(矩阵的转置、求和、右三角、左三角 27 29 35 37 71 87 88) ........................................ 18 将二维数组合并成一个一维数组(73、74、75、78) ........................................................................... 22 素数问题(24、28、34、41) ................................................................................................................... 24 统计问题 ....................................................................................................................................................... 26

统计子字符串在父字符串中出现的次数(33) ............................................................................... 26 统计年龄和字母的个数(39、80) ................................................................................................... 27 统计单词的个数(81) ....................................................................................................................... 28 统计指定字符的次数(82、101) ..................................................................................................... 28 方差问题(23) ........................................................................................................................................... 29 求根问题(47) ........................................................................................................................................... 30 菲不拉基数列(51) ................................................................................................................................... 31 回文编程题(100) ..................................................................................................................................... 32 求满足条件的和(16、49、89、98) ....................................................................................................... 33 字符串的操作(连接、拷贝3、36、103) .............................................................................................. 35 寻找最大数、最小数以及所在下标(14、17、31、58)............................................................................. 36 按照给定条件转换数(15、104) ............................................................................................................. 38 字符串的逆序和排序(26、30) ............................................................................................................... 39 删除 ............................................................................................................................................................... 40

删除字符串中不满足条件的字符(18、45、48、50、52、54)......................................................... 40 删除字符串中的空格字符(72) ....................................................................................................... 41 删除数组中重复的数使之保留一个(79) ....................................................................................... 41 删除指定下标或者指定的字符(83、92) ............................................................................................... 42 移动(76、77) ........................................................................................................................................... 43 求数组中相邻两个元素之和(19) ........................................................................................................... 44 将指定位置上字母变成大写(60、99) ................................................................................................... 45 查找(32、102) ......................................................................................................................................... 45 求平均分以及统计平均分以下的人数(5、38、105) ........................................................................... 46 其他(13、57) ................................................................................................................................................ 48

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

删除星号(1、4、55、59、63、64、65、66、85、93)

1、 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分原程序存在文件prog.c中.

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句.

void fun(char *a,char *h,char *p) { int i; char ch[81]; i=0; while(a[i]=='*') ch[i]=a[i++]; while(h

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

4、 规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串最前面连续的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

例如,字符串中的内容为:*******A*BC*DEF*G****,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为8,则字符串中的内容仍为:*******A*BC*DEF*G****。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分原程序存在文件prog.c中.

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句.

void fun(char *a,int n) { int count,i,j; char ch[81]; count=0; j = 0; while(a[count]=='*') count++; if(count>n) { for(i=count-n;a[i]!='\\0';i++) ch[j++]=a[i]; ch[j]='\\0'; j=0; while(ch[j]!='\\0') a[j]=ch[j++]; a[j]='\\0'; } }

55、规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。

例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数.

注意:部分原程序存在文件prog.c中.

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句.

void fun(char *a) { int i,j,count; count = 0; while(a[count]=='*') count++; for(i=0;i

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

63、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****A*BC*DEF*G。在编写函数时,不得使用C语言提供的字符串函数。

注意:部分原程序存在文件prog.c中.

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句.

void fun(char *a) { int length; length=0; while(a[length]!='\\0') length++; length--; while(a[length]=='*') length--; a[length+1]='\\0'; }

64、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。函数fun中给出的语句仅供参考。

例如,字符串中的内容为:****A*BC*DEF*G******,删除后,字符串中的内容应当是:****ABCDEFG。

注意:部分原程序存在文件prog.c中.

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句.

void fun(char *a) { int i,j; char ch[81]; i=0; j=0; while(a[i]=='*') ch[j++]=a[i++]; while(a[i]!='\\0') { if(a[i]!='*') ch[j++]=a[i]; i++; } ch[j]='\\0'; j=0; while(ch[j]!='\\0') a[j]=ch[j++]; a[j]='\\0'; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

65、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G******,删除后,字符串中的内容应当是:A*BC*DEF*G。

void fun(char *a,int n,int h,int e) { int i,j=0; i = h; while(i

85、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。

例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。

void fun(char *a,int n) { int count,length,j; length=count=0; while(a[length]!='\\0') length++; j = length-1; while(a[j]=='*') {count++;j--;} if(count>n) a[length-(count-n)]='\\0'; }

93、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。 void fun( char *a )

{ int i,j=0;

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

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

将a和b两个数组成一个新数c(9、40、67、69、94、95、96、97)

9

void fun(int a,int b,long *c) { *c = a/10*100+a+b/10*10+b*1000; }

40

void fun(int a,int b,long *c) { *c=a/10*1000+a*10+b/10+b*100; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

结构体问题(6、7、8、10、11、42、43、68、84、86) 6

void fun(STREC *p) { int i; p->ave = 0.0; for(i=0;iave+=p->s[i]/N; }

7

double fun(STREC *a,STREC *b,int *n) { int i; double ave=0.0; *n=0; for(i=0;i=ave) { b[*n]=a[i]; (*n)++; } } return ave; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

8

void fun(STREC a[]) { int i,j; STREC t; for(i=0;i10

STREC fun(STREC *a,char *b) { int i; STREC st={\ for(i=0;i

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

11

int fun(STREC *a,STREC *b,int l,int h) { int i,count=0; for(i=0;i=l&&a[i].s<=h) b[count++]=a[i]; } return count; }

42

fun(STU a[],STU *s) { int i; *s = a[0]; for(i=1;ia[i].s) *s = a[i]; } }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

43

fun(STU a[],STU *s) { int i; *s = a[0]; for(i=1;i 86

int fun(STREC *a,STREC *b) { int max,i,count=0; max = a[0].s; for(i=1;i打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

链表编程题(12、70)

12

double fun(STREC *h) { int i=0; double ave=0.0; STREC *p; p=h->next; while(p!='\\0') { ave += p->s; i++; p=p->next; } ave = ave / i; return ave; }

70

double fun(STREC *h) { STREC *p; double max; p = h->next; max = p->s; while(p!='\\0') { if(max<(p->s)) max = p->s; p=p->next; } return max; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

求和问题(2、20、21、22、25、44、46、53 、61、 62、 90、 91)

2

double fun ( double eps) { double pi,t; int i; pi = 0.0; t = 1.0; i = 1; while(t>=eps) { pi = pi+t; t = t *((double)i/(2*i+1)); i++; } return pi*2; }

20

double fun(int n) { int i; double s; s = 0.0;

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

}

21

for(i=1;i<=n;i++) s+=1.0/(2*i-1)-1.0/(2*i); return s;

double fun(int n) { double sum=0.0; int i; for(i=1;i<=n;i++) { if(i%5==0||i%9==0) sum = sum + 1.0/i; } return sum; }

22

double fun(double x) { double x1,xn,s,i; x1 = 1;xn=0.5*x;i=2;s=0.0; while(fabs(xn-x1)>=0.000001) { s +=x1; x1 = xn; xn = xn *x*(0.5-i+1)/i; i++; } return s; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

25

double fun(int n) { double sum,s; int i; sum = 0; s = 0; for(i=1;i<=n;i++) { sum = sum + sqrt(i); s = s + sum; } return s; }

44

float fun(int n) { float s,sum; int i; sum = 0.0; s = 0.0; for(i=1;i<=n;i++) { sum = sum +i; s = s +1.0/sum; } return s; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

53

double fun( int m) { int i; double s; s = 0.0; for(i=1;i<=m;i++) { s = s + log(i); } s = sqrt(s); return s; }

61

double fun(int n) { int i; double s; s = 0.0; for(i=1;i<=n;i++) { s += 1.0/(i*(i+1)); } return s; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

62

double fun(double x,int n) { double s,t; int i; s = 1; t = x; i = 1; while(i<=n) { s = s+t; i++; t = t*(x/i); } return s; }

90

double fun(int n) { double sn,jc; int i; sn = 1; jc = 1; for(i=1;i<=n;i++) { jc *= i; sn += 1.0/jc; } return sn; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

91

double fun(int n) { int i; double s,jc; s = 0; jc = 1; for(i=1;i<=n;i++) { jc = jc * i; s += 1.0/jc; } return s; }

46

float fun(int m,int n) { float p,jm,jn,jc; int i,t; i = 1; jm=jn=jc=1; if(m

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

}

i++; }

p = jm/(jn*jc); return p;

二维数组题(矩阵的转置、求和、右三角、左三角 27 29 35 37 71 87 88)

27

void fun(int array[3][3]) { int i,j,t; for(i=0;i<3;i++) { for(j=0;j

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

29

int fun (int a[M][N]) { int sum,i,j; sum = 0; for(i=0;i

35

double fun(int w[][N]) { int i,j; double sum; sum = 0; for(i=0;i

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

}

37

for(j=0;j

sum = sum/(4*N-4); return sum;

void fun(int a[3][3],int b[3][3]) { int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { b[i][j] = a[i][j] + a[j][i]; } } }

71

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

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

}

87

for(i=0;i

void fun ( int a[][N], int n ) { int i,j; for(i=0;i

88

void fun ( int a[][N] ) { int i,j; for(i=0;i

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

将二维数组合并成一个一维数组(73、74、75、78)

73

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

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

74

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

78

void fun(char (*s)[N], char *b) { int i,j,count=0; for(i=0;i

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

素数问题(24、28、34、41)

28

int fun(int lim,int aa[MAX]) { int i,count,j; count = 0; for(i=2;i<=lim;i++) { for(j=2;j=i) aa[count++] = i; } return count; }

24

double fun(int n) { double sum=0.0; int i,j; for(i=3;i=i) sum=sum+sqrt(i); } return sum; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

34

void fun(int m,int *k,int xx[]) { int i,j; *k = 0; for(i=2;i<=m;i++) { for(j=2;j

41

void fun(int m,int k,int xx[]) { int i,j,count=0; for(i=m+1;count=i) xx[count++]=i; } }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

统计问题

统计子字符串在父字符串中出现的次数(33)

33

int fun(char *str,char *substr) { char *p,*r; int count=0; while(*str!='\\0') { p = str; r = substr; while(*r!='\\0') { if(*r == *p){ p++;r++;} else break; } if(*r=='\\0') count++; str++; } return count; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

统计年龄和字母的个数(39、80)

39

void fun(char *tt,int pp[]) { int i; for(i=0;i<26;i++) pp[i] = 0; for(i=0;tt[i]!='\\0';i++) { if(tt[i]>='a'&&tt[i]<='z') pp[tt[i]-'a']++; } }

80

void fun( int *a, int *b) { int i; for(i=0;i=0&&a[i]<100) b[a[i]/10]++; else b[10]++; } }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

统计单词的个数(81)

int fun( char *s)

{ int count=0,flag=1,i=0; while(s[i]!='\\0') { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') { if(flag==1) count++; flag = 0; } else flag = 1; i++; } return count; }

统计指定字符的次数(82、101)

82

int fun(char *ss,char c) { int count=0; while(*ss!='\\0') { if(*ss==c) count++; ss++; } return count; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

方差问题(23)

23

double fun(double x[10]) { double ave,s; int i; ave = 0.0; s = 0.0; for(i=0;i<10;i++) ave += x[i]/10; for(i=0;i<10;i++) { s = s +((x[i]-ave)*(x[i]-ave))/10; } s = sqrt(s); return s; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

求根问题(47)

47

float fun() { float x0,x1; x1 = 0.0; x0 = x1; x1 = cos(x0); while(fabs(x0-x1)>=0.000001) { x0 = x1; x1 = cos(x0); } return x1; }

四舍五入问题(56)

56

float fun ( float h ) { float ave; ave = (int)(h*100+0.5)/100.0; return ave; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

103

void fun( char *a , char *s) { int i=0; while(s[i]!='\\0') a[i]=s[i++]; a[i]='\\0'; }

寻找最大数、最小数以及所在下标(14、17、31、58)

17

void fun(int a[], int n , int *max, int *d ) { int i; *max = a[0]; *d = 0; for(i=1;i打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

31

void fun(int tt[M][N],int pp[N]) { int i,j; for(i=0;itt[j][i]) pp[i] = tt[j][i]; } } }

58

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

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

按照给定条件转换数(15、104)

15

long fun ( char *p) { long n; char *h; n = 0; h = p; while(*h!='\\0') { if(*h>='0'&&*h<='9') n = n * 10 + (*h-'0'); h++; } if(*p=='-') return -n; else return n; }

104

long fun( char *s ) { long n; n=0; while(*s!='\\0') { if(*s>='0'&&*s<='9') n=n*10+*s-'0'; s++; } return n; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

字符串的逆序和排序(26、30)

26

fun(char *s) { int i,length,j; char temp; length = 0; while(s[length]!='\\0') length++; for(i=0,j=length-1;i

30

int fun(char *s,int num) { int i,j; char ch; for(i=1;i

打造新科 用心为你的起飞护航 http://www.gyxk100.com

新科电脑培训学校2013年9月份二级C语言机试资料

删除

删除字符串中不满足条件的字符(18、45、48、50、52、54)

18

void fun(char *s, char t[]) { int i,j; j = 0; for(i=0;s[i]!='\\0';i++) { if(i%2!=0) t[j++]=s[i]; } t[j] = '\\0'; }

52

void fun(char *s,char t[]) { int i,j; j=0; for(i=0;s[i]!='\\0';i++) { if(i%2!=0&&s[i]%2!=0) t[j++]=s[i]; } t[j] = '\\0'; }

打造新科 用心为你的起飞护航 http://www.gyxk100.com

本文来源:https://www.bwwdw.com/article/jt16.html

Top