国家计算机二级考试C语言100套上机题

合集下载

全国计算机二级上机题库100套

全国计算机二级上机题库100套

二级C语言上机考试复习资料(前面为填空题题目,后面同序号依次为此套题的填空题、改错题、编程题答案)前39套带* 的为本次考试重点,共100套* 3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。

例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000主函数中输出:46 32 40 45 48请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

3、(1)0(2)x[i]/N(3)j++3、(1)double fun(int m)(2)for(i=100;i<=m;i~1+=0)3.fun( STU a[], STU *s ){int i;*s=a[0];for(i=1;i<N;i++){if(a[i].s<s->s){*s=a[i];}}}* 5、给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。

例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

5、(1)'0'(2)s++(3)ctod(a)+ctod(b)5、(1)void fun ( char *s, int *a, int *b )(2)++(*a);(3)++(*b);5.float fun ( float h ){long i=h*1000;if(i%10<5) return (i/10)/100.0;else return (i/10+1)/100.0;}* 7、给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。

计算机二级C语言上机题库及答案(100套)

计算机二级C语言上机题库及答案(100套)

计算机二级c 语言上机题库及答案.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。

试题程序: #include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

计算机二级考试C语言上机试题(100题)

计算机二级考试C语言上机试题(100题)

1.程序填空题在主函数中从键盘输入若干个数放入数组a中,用0结束输入但不计入数组。

下列给定程序中,函数fun的功能是:输出数组元素中小于平均值的元素。

例如,数组中元素的值依次为34、54、675、456、453、121,则程序的运行结果为34、54、121。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>void fun(___1___,int n){double count=0.0;double average=0.0;int i=0;for(i=0;i<n;i++)___2___;average=___3___;for(i=0;i<n;i++)if(a[i]<average){if(i%5==0)printf("\n");printf("%d,",a[i]);}}main(){int a[1000];int i=0;printf("\nPlease enter datas(end with 0):");do{scanf("%d",&a[i]);}while(a[i++]!=0);fun(a,i-1);}【答案】(1) int a[] (2)count+=a[i]或count=count+a[i] (3)count/n2.程序修改题给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/(2*2)+1/(3*3)+1/(4*4)+…+1/(m*m)例如:若m中的值为5,则应输出1.463611。

请改正程序中的错误,使其能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>double fun(int m){double y=1.0;int I;/**********found**********/for(i=2;i<m;i++)/**********found**********/y+=1/(i*i);return(y);}main(){int n=5;printf("\nThe result is %lf\n", fun(n));}【答案】(1)将for(i=2;i<m;i++) 改为:for(i=2;i<=m;i++)(2)将y+=1/(i*i); 改为:y +=1.0/(i*i);3.程序设计题函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。

全国计算机等级考试二级C语言上机题库(全)

全国计算机等级考试二级C语言上机题库(全)

int i; for(i=1;i<strlen(ss);i+=2) {if(ss[i]>=’a’&&ss[i]<=’z’) ss[i]-=32; } } 第五套 1. 程序填空 给定程序中,函数 fun 的功能是:计算下式前 n 项的和作为函数值返 回。例如:当形参 n 的值为 10 的时,函数返回:9.6125588。 第一处 s=0; 第二处 for(i=1;i<=n;i++) 第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t); 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计 substr 所指字符串在 str 所指字符串中出现次数。 /**found**/ for(i=0;str[i];i++) /**found**/ if(substr[k+1]==’\0’) 3. 程序设计 请编写一个函数 fun,它的功能是:根据以下公
for(i=1;i<N;i++) if(max<a[i].s)max=a[i].s; for(i=0;i<N;i++) if(max==a[i].s)b[n++]=a[i]; return n; } 第九套 1. 程序填空 给定程序中,函数 fun 的功能是:计算形参 x 所指数组中 N 个数的平 均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至 数据的前部,大于等于平均数的移至 x 所指数组的后部,平均值作为 函数值返回,在主函数中输出平均值和移动后的数据。 第一处 for(i=0;i<N;i++) av+=x[i]/N 第二处 y[j]=x[i]; x[i]=-1;j++;} 第三处 i++; 2. 程序修改 给定程序 MODI1.C 中函数 fun 的功能是:统计字符串各元音字母 (即:A、E、I、O、U)的个数。注意字母不分大小写。 /**found**/ num[k]=0;

计算机二级C语言上机题库及答案(100套)

计算机二级C语言上机题库及答案(100套)

~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

全国计算机二级C语言上机考试100题

全国计算机二级C语言上机考试100题

全国计算机二级C语言上机考试100题1.编写函数fun,如,a=45,b=12时,调用该函数后,c=4152.*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10)填空:1.STYPE 2.FILE 3.fp 改错:1.for(i=0;i<=s1;i++) 2.t[s1]=’\0’改为t[2*s1]=’\0’.编写函数fun,如,a=45,b=12,调用后,c=1524.*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);填空:1,*fw 2.str 3.str 改错1.void fun (long s, long *t3>合并整a,b;a的十位和个位放在c的个位和百位上,b的十位和各位在c的十位和千位*c=(b%10)*1000+(a%10)*100+(b%10)*10+a/10;填空 1>ft 2>fclose 3>fname改错 1>for(i=j+i;ip=i4>合并整a,b;a的十位和位个放在c的十位和千位上,b的十位和个位在c的十位百和个位*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);填空1>"r" 2>fs 3>ft改错1>if(d%2==0) 2>s/=10;5>计算n门课程的均分,返回结果int i;float ave=0.0;for(i=0;ireturn ave;填空1>x 2>p 3>s 改错1>long k=1; 2>num/=10;6>比较两个字符串,返回长的,相等返回前者int i; char *p=s,*q=t; int n=0,m=0;while(*p) {n++; p++;} while(*q){m++; q++;} if(n>=m) p=s; else p=t;return p;7>求到能被7或11整除的整数,通过n返回个数int i,j=0;*n=0; for(i=1;i<=m;i++)if(i%7==0||i%11==0) {a[j]=i; j++;}*n=j; 填空1>q 2>nex 3>next改错1>p=j; 2>p=i;8>将ss所指字符串中下标为奇数的字母换为大写int i; for(i=1;i< bdsfid="97" p=""><>{if(ss[i]>='a'&&ss[i]<='z')ss[i]-=32];}填空1>0或NULL 2>n 3>head,ch改错1>for(i=0,t=0;p[i];i++) 2>c[t]='\0';9>保留下标和ASCII值为偶数的字符,其余删除int i,j=0; for(i=0;i< bdsfid="103" p=""><>if(s[i]%2==0) t[j++]=s[i]; t[j]='\0';填1>*n2>next3>head 改1>a=NULL;2>if(*r==*p)10>删除s中下标为偶数的字符,剩余放在t中int i,j=0; for(i=1;i< bdsfid="108" p=""><>t[j++]=s[i]; t[j]='\0'11>删除s所指字符串中ASCII值为偶数的字符,其余放在t所指数组中 int i,j=0;for(i=0;i<="" p="">t[j++]=s[i]; t[j]=0;填空1>STU 2>std[i].num 3>std[i]改错1>r++; p++ 2>if(*r=='\0')12>学生数据在结构体a中,找最高分用形参指针返回int i,max=a[0].s,j=0; for(i=1;i<n;i++)< bdsfid="119" p=""></n;i++)<>if(maxstd[i].year 2>std[i] 3>n改错1>IsPrime(int n)2>if(!(n%i))13>给数组左下角元素乘n int i,j;for(i=0;ia[i][j]*=n;填空1>STU 2>score[i] 3>&std改错1>if(k>0) 2>else if(k==0)14>使数组坐下三角元素为零 int i,j;for(i=0;ia[i][j]=0; 填空1>*std 2>PERSON 3>std改错1>int i,k,q; 2>pt[i]=str[k][i];15>求出二维数组每列最小元素并依次放入pp数组中int i,j,min,k; for(i=0;i<n;i++)< bdsfid="135" p=""></n;i++)<> {min=tt[0][i];k=0; for(j=1;j<m;j++)< bdsfid="137" p=""></m;j++)<>if(min>tt[j][i]){min=tt[j][i]; k=j; }pp[i]=tt[k][i];}填1>*std2>std[i].age3>/doc/4dc8440af12d2af90 242e63e.html 改1>void fun(int *a,int *b) 2>t=*b;*b=*a;*a=t;16>函数求出w的低n-1位的数作为函数返回值unsigned t,s=0,s1=1,p=0; t=w; while(t>10) {if(t/10) p=t%10; s=s+p*s1; s1=s1*10t=t/10;} return s;填空1>tt2>tt.score[i]3>std 改错1>m=i;2>if(a[k]>a[m])m=k;17>把s所指字符串逆置char b[N]; int i=0,j; memset(b,0,N); for(j=strlen(s)-1;j>=0;j--)b[i++]=s[j]; strcpy(s,b);填1>i+12>k=j3>t 错1>void fun(char *str,char ch) 2>if(*str!=ch) 3>str[1]='\0';18>从s所指的字符串中删除给定字符char *p=s; int i=0; while(*p){if(*p !=c)s[i++]=*p; p++;} s[i]='\0';填空1>k 2>len 3>ss[i][j]改错1>result*=n--; 2>return result;19>对7个字符的串除首尾字符外按ASCII码降序排列char t; int i,j; for(i=1;i<num-2;i++)< bdsfid="152" p=""></num-2;i++)<>for(j=i+1;j<s[j])<="" p="">{t=s[i]; s[i]=s[j]; s[j]=t; }填空1>ss[i] 2>n+j 3>1改错1>if(*p=='') 2>*(p-1)=toupper(*(p-1));20>统计长为2的字符串再另一串中出现的次数int cnt=0; char *p=str, *q; while(*p){q=strstr(p,substr); if(q==NULL) break;p=q+strlen(substr); cnt++} return cnt;填1>[N] 2>len 3>*n=len 改1>t+=1.0/i; 2>return t;21>将1到m的非素数存入xx数组中,用k传回其个数int i,j; int t=0; for(i=2;i<="">j=2; while(jt++; break; } j++; } *k=t; }填空1>M 2>< 3>k改错1>if(('a'<=tt[i])&&(tt[i]<='z')) 2>tt[i]-=32;22>指出ss字符串中指定字符的个数并返回此值int cnt=0; char *p=ss; while(*p) {if(*p==c)cnt++; p++; } return cnt;填空1>j++ 2>s[i]=t1[i] 3>j改错1>for(j=i+1;j<6;j++) 2>*(pstr+i)=*(pstr+j);23>计算矩阵A加上A的转置,存放在矩阵B中int c[3][3]; int i,j; for(i=0;i<3;i++)for(j=0;j<3;j++) { c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j]; }填空1>&& 2>0 3>s[j]改错1>for(i=2;i<=m;i++) 2>y+=1.0/(i*i);24>秋1到1000能被7或11整除但不能同时整除的数int i; *n=0; for(i=7;i<1000;i++)if(((i%7)==0||(i%11)==0)&&(i%77)!=0) a[(*n)++]=i;填1>s[i] 2>'9' 3>*t=n 改1>t=*x; *x=y; 2>return(t); 25>统计tt中26个字母出现的次数,并依次放在pp中char *p=tt; int i; for(i=0;i<26;i++)pp[i]=0;while(*p){ if(*p>='a'&&*p<='z')pp[*p-'a']+=1;p++;}填空1>1 2>s[k] 3>c 改错1>long s=0,t=0; 2>t=t/10;26.输入字符串:world,然后输入3,则输出结果为:Int p,m=0; for(p=0;p填空: 1.t=i 2. i 3.0改错:1.while(fabs(t)>=num) 2.t=s/n;27根据公式计算s计算结果返回.如,n的值为11时,函数值为1.833333 int k; float str=1.0,sum=1.0;for(k=2;k<=n;k++) {sum=sum+k; str=str+1/sum;} return str;填空:1.0 2.0 3.c 改错:1.double sum=0.0; 2.sum/=c28.利用简单迭代方法求方程:cox(x)-x=0的一个实根。

(完整word版)国家计算机2级等级考试-C语言上机编程100题库真题

(完整word版)国家计算机2级等级考试-C语言上机编程100题库真题

1:第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。

答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

答案:void fun(int *a,int *n) {int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 ||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中”a"到”z”26各字母各自出现的次数,并依次放在pp所指的数组中。

答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’:pp[0]++;break;case ‘b': pp[1]++;break;case ‘c’:pp[2]++;break;case ‘d’:pp[3]++;break; case ‘e’: pp[4]++;break; case ‘f': pp[5]++;break; case ‘g': pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’:pp[8]++;break; case ‘j':pp[9]++;break;case ‘k’:pp[10]++;break;case ‘l’:pp[11]++;break; case ‘m’: pp[12]++;break;case ‘n’:pp[12]++;break; case ‘o’: pp[14]++;break; case ‘p': pp[15]++;break; case ‘q’:pp[16]++;break; case ‘r':pp[17]++;break; case ‘s': pp[18]++;break;case ‘t’: pp[19]++;break; case ‘u’:pp[20]++;break;case ‘v’:pp[21]++;break; case ‘w': pp[22]++;break;case ‘x’:pp[23]++;break; case ‘y’:pp[24]++;break; case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx []),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。

二级C语言上机真题100套

二级C语言上机真题100套

第1套1.程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。

如输入一个数:27638496,新的数为729第1处:{ t=*n%10;第2处:if(t%2!=0)第3处:*n=x;2.程序修改给定程序modi1.c中函数fun 的功能是:计算n!。

例如,给n 输入5,则输出120.000000。

double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}3.程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。

long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==’-‘){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第2套1.程序填空给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

第1处 FILE * fp;第2处 while (!feof(fp)) { 第3处putchar(ch);ch=fgetc(fp);} 2.程序修改给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。

void fun( char *s ){ int i,j;for(i=0,j=0;s[i]!=’\0’;i+ +)if(s[i]>=’0’&&s[i]<=’9’)/*****found******/s[j++]=s[i];/*****found******/s[j]=’\0’;}3.程序设计请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国家计算机二级考试C语言100套上机题第一套1.下列给定程序中,函数fun的功能是计算如下公式直到,并且把计算结果作为函数值返回。

例如,若形参e的值为1e-3,则函数返回值为0.551690。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

(1)3.0或(double)3(2)>(3) (t+1)2.下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。

和值通过函数值返回。

例如,若n=5,则应输出8.391667。

请改正程序中的错误,使其得出正确的结果。

(1)double fun(int n)(2)s=s+(double)a/b;3.请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。

int fun (int a[ ][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<m;j++)< bdsfid="77" p=""></m;j++)<> if(max<a[i][j])< bdsfid="79" p=""></a[i][j])<>max=a[i][j];return max;}第二套1.下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。

例如,当形参n的值为10时,函数返回值为9.612558。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

(1) 0(2) n(3) (t*t)2.下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。

例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。

请改正程序中的错误,使它能得出正确的结果。

(1)for(i=0;str[i];i++)(2)if(substr[k+1]==′\0′)3.编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

程序运行后,若输入精度0.0005,则程序应输出为3.14…。

double fun( double eps){double s=1.0,s1=1.0;int n=1;while(s1>=eps)/*当某项大于精度要求时,继续求下一项*/{s1=s1]s=s+s1;/*求和*/n++;}return 2]第三套1.给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。

例如,若形参s所指的字符串为abcdef35adgh3kjsdf7,则输出结果为4。

请在下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

(1) s[i](2) '9'(3)*t=n2.下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它得出正确的结果。

(1)t =*x ; *x =y ;(2)return(t) ;或return t;3.编写函数fun,其功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。

void fun(int *a,int *n){int i,j=0;for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除但不能同时被7和11整除的所有整数,并放入数组a中*/ if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;/*传回满足条件的数的个数*/}第四套1.下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

(1)1(2) j++(3)j2.下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。

例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。

请改正程序中的错误,使它能得出正确结果。

(1) t=a;a=b;b=t;(2) return(b);或return b;3.规定输入的字符串中只包含字母和*号。

编写函数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′;/*最后加上字符串结束符′\0′*/}第五套1.下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

(1)0(2) 10]2.下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数为7531。

请改正程序中的错误,使它能得出正确的结果。

(1)*t=0;(2)if(d%2!=0)或if(d%2==1)3.编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:FirstString--SecondString程序输出:FirstString--SecondStringvoid fun(char p1[],char p2[]){int i,j;for(i=0;p1[i]!=′\0′;i++); /*求出的i为p1字符串的总长度,包括结束标记符*/for(j=0;p2[j]!=′\0′;j++)p1[i++]=p2[j];/*将p2字符串连在p1字符串后面*/p1[i]=′\0′;/*在字符串最后加上结束标记符*/}第六套1.下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。

形参n中存放a所指数组中数据的个数。

规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

(1) a[i](2) a[j](3) a[j]2.下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。

从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……例如,若给n输入7,则该项的斐波拉契数值为13。

请改正程序中的错误,使它能得出正确结果。

(1) 去掉分号(2) case 1:case2:return 1;3.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

void fun(STREC *a){int i;a->ave=0.0;for(i=0;i<n;i++)< bdsfid="182" p=""></n;i++)<>a->ave=a->ave+a->s[i];/*求各门成绩的总和*/a->ave=a->ave/N;/*求平均分*/}第七套1.下列给定程序中,函数fun的功能是进行数字字符转换。

若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

(1) char(2) ch<='9'(3) '0'2.下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。

例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。

请改正程序中的错误,使它能得出正确结果。

(1) b[k]=*p;(2) b[k]=′′;k++;3.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。

请编写函数fun,其功能是:求出平均分,并由函数值返回。

例如,若学生的成绩是:8576698591726487,则平均分应当是:78.625。

double fun(STREC *h){double av=0.0;STREC *p=h->next;/*p直接指向"头结点"的下一个结点,即第一个成绩*/while(p!=NULL){av=av+p->s;/*求总分数*/p=p->next;}return av/N;/*返回平均值*/}第八套1.下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。

相关文档
最新文档