logo资料库

计算机二级c编程题过关必背.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
1 、 a=45 , b=12 时,调用该函数后, c=4152 *c=(a/10)*1000+(b/10) *100+(a%10)*10+(b%10); 4 、a=45 , b=12 时,调用该函数后, c=5142 *c=(a%10)*1000+(b/10)* 100+(a/10)*10+(b%10); f 7、能被 7或 11 整除 在数组 a中 inti ;*n=0 ; for(i=7 ; i<=m; i++) if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ; 2 、把分数最低的学生数据放进 b 数组 (注意:第 2套跟第 87 套交换) inti, j = 0, min=a[0].s ; for(i = 0 ; i< N; i++) if(min > a[i].s) for(i = 0 ; i< N; i++) min = a[i].s ; if(min == a[i].s) b[j++] = a[i] ; return j ; 5 、计算 n 门课程的平均分 71.8 int i; float ave=0.0; for(i=0;i='a'&&ss[i]<='z') ss[i]-=32; 10 、将 s所指字符串中下标为偶数的字 符删除 inti, j= 0; for(i=0;s[i]!=0;i++) if(i%2==1)t[j++]=s[i]; t[j]=0; 11 、将 s所指字符串中 ASCII 值为偶数的 字符删除 inti, j=0 ; for(i =0;i 10000) w %= 10000 ; else if(w>1000) w %= 1000 ; else if(w>100) w %= 100 ; else if(w>10) w %=10 ; return w ; 19 、除首、尾字符外 ,将其余 5 个字符 按 ASCII 码降序排列。 char ch ; int i, j ; for(i =1;i='a'&&*p<='z') pp[*p-'a']+=1; p++;} 17 、字符串中的内容逆置 inti,len=strlen(s); char t; for(i=0;i=j)return s; else return t; 9 、除下标偶数同时 ASCII 码值偶数之外其 余全部删除 inti,j=0; for(i=0;s[i]!=0;i++) if(i%2==0&&s[i]%2==0) t[j++]=s[i]; t[j]=0; 12 、找出成绩最高学生纪录 (规定只有一 个最高分) inti, max = a[0].s, j = 0; for(i=1;itt[j][i])pp[i]=tt[j][i]; } 18 、从 s所指的字符串中删除给定的字符 char *p=s; inti=0; while(*p) { if(*p!=c)s[i++]=*p; p++; } s[i]=0; 21 、将所有大于 1 小于整数 m 的非素数 存入 xx 所指数组中 intnum=0; inti,j; for(i=2;i
30 、对 ln1+ln2+ … +lnm开平方根 double s = 0.0; inti; for(i=1;i<=m;i++)s+=log(1.0*i); return sqrt(s); 33 、只删除中间 * 号 int j=0; char *q=a; while(*q && q < h) a[j++] = *q++ ; while(*h && *p && h < p) { if(*h != '*') a[j++] = *h ; h++; } while(*p) a[j++] = *p++ ; a[j] = 0 ; 36 、求出学生的平均分 78.875 int i ; for(i = 0 ; i < N ; i++) a->ave = a->ave + a->s[i] ; a->ave /= N ; 39 、返回指定学号的学生数据 inti; STREC t = { ‘0’ , -1}; for(i=0;i1e-6); return x1; 31 、将字符串中的前导 * 号全部删除, 中间和尾部的 * 号不删除字符串 int j=0;char *p=a; while(*p=='*')p++; while(*p) {a[j++]=*p; p++;} a[j]=0 ; 34 、删除串中所有 * int j =0 ; char *p=a; while(*p) { if(*p != '*') a[j++]=*p ; p++ ; } a[j]=0; 37 、低于平均分的学生数据放在 b 所指 数组中 inti ; *n = 0 ; for(i=0;inext; n++;} 2/2!+ … return ave ; 40 、求出学生成绩平均分 STREC *p=h->next; double av=0.0; int n=0; while(p!=NULL) {av=av+p->s; av=av/n; return av; 43 、计算当 x<0.97 Sn=1+0.5x+0.5*(0.5-1)x int n=1; double sum=1, xn=1; while(fabs(xn)>=0.000001) { xn=xn*x*(0.5-n+1)/n; n++; sum=sum+xn; } return(sum); 46 、计算 Sn=1-1/2+1/3- inti; double sum=0.0; for(i=1;i<=n;i++) sum+=1.0/(2*i-1)-1.0/(2*i); return sum; 49 、3 到 n 之间所有素数平方根之和 inti,j=0; double s=0; for (i=3; i<=n; i++) { if (i%j == 0) break; for (j=2; j= i) s=s+sqrt(i*1.0); } return s; 29 、求 Fibonacci 数列中大于 t 的最小的 一个数 int f0 = 0, f1 = 1, f ; f = f0 + f1 ; do { f0 = f1 ; f1 = f ; } while(f < t) ; return f ; 32 、除尾部 * 号,其余 * 删除 char *q=a; int j=0; while(*q && q
52 、按分数的高低排列学生的记录,高 分在前 STREC tmp;intI,j; for(i=0;iscore[i]) below[j++]=score[i]; return j; 76 、求出数组的最大元素及下标 intI,pos=0,max=*s; for(i=1;i=eps) {s+=xn;i++;xn=xn*i/(2.0*i+1);} return (s*2.0); 59 、除了下标为奇数、 ASCII 值也为奇数 的字符之外,其余的所有字符都删除 intI,j=0; for(i=0;s[i];i++) 57 、找出数组元素中最大的值和它所在的 下标 intI ; *max=a[0];*d=0; for(i=1;ia[i].s){j=I;min=a[i].s;} *s=a[j]; 65 、求出二维数组周边元素之和 int tot=0,I,j; for(i=0;i=i)aa[k++]=I;} return k; if(strlen(a[i])>maxlen) {maxlen=strlen(a[i]);k=I;} *max=a[k]; void 71 、下标为奇数位置上的字母转换为大 写 char *p=ss; inti=0; while(*p) {if((i%2)&&(*p>= ’a’&&*p<= ’z’)) *p-=32; p++; i++;} 74 、能整除形参 x 且不是偶数的各整数 , 按从小到大的顺序放在 pp 数组 intI; *n=0; for(i=1;i<=x;i++) if((x%i==0)&&(i%2)) pp[(*n)++]=I; 77 、求 P 的值 P=m!/(n!*(n-m)!) long jc(int m) {long s=1;int I; for(i=1;i<=m;i++)s=s*I; return s;} float fun(intm,int n) {float p; p=1.0*jc(m)/jc(n)/jc(m-n); return p; } 第 3 页 /共 4 页 72 、组数 5241 *c=(a%10)*1000+(b%10) *100+(a/10)*10+(b/10); 75 、将大于形参 m 且紧靠 m 的 k 个素数 存入 xx 所指的数组中。 while(j
79 、求 S S=1/1 ×2+1/2 ×3+...+1/n(n+1) double s=0.0; inti; for(i=1;i<=n;i++) s=s+1.0/(i*(i+1)); return s; 82 、除了字符串前导的 * 号之外 ,将串中 其它 * 号全部删除 ,非 * 号字符前移 if(a[i]!='*') a[k++]=a[i]; i++; 85 、将字符串中的前导 * 号全部移到字 符串的尾部 向前复制字符串 while(*p){*q++=*p++;} 88 、组数 2415 *c = (b%10)*1000+(a/10) *100+(b/10)*10+a%10; 91 、判断字符串是否为回文 ? inti,j=strlen(str); for(i=0;it)b[(*n)++]=a[i]; return t; 89 、把指定分数范围内的学生数据放在 b 数组中 inti,j=0; for(i=0;i=l&&a[i].s<=h) b[j++]=a[i]; return j; 92 、将二维数组中的数据 ,按行的顺序依 次放到一维数组中 inti,j,k; for(i=0;is; STREC *p; p=h->next; while(p) { if(p->s>max) max=p->s; p=p->next; } return max; 93 、二维数组按列顺序放到一维数组 inti,j,np=0; for(i = 0 ; i='0'&& s[i]<='9')n++; n; 104 、将一个数字字符 234510, 转换对应 的长整型整数 234510 inti,n; long t=0; n=strlen(s); for(i=0;imax)max=a[i]; if(a[i]
分享到:
收藏