c上机一百题

合集下载

计算机二级考试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语言上机100题答案word版本

全国计算机等级考试三级C语言上机100题答案word版本

全国计算机等级考试三级C语言上机100题一.排序类:1.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文件IN.DA T中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

#include <stdio.h>#define MAX 200int a[MAX], b[MAX], cnt = 0 ;void jsVal(){int i,j,t;for(i=0;i<MAX;i++){t=a[i];if(t%2+t/10%2+t/100%2+t/1000%2==0)b[cnt++]=t;}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]){t=b[i];b[i]=b[j];b[j]=t;}} void readDat(){int i ;FILE *fp ;fp = fopen("in.dat", "r") ;for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ; fclose(fp) ;}void main(){int i ;readDat() ;jsVal() ;printf("满足条件的数=%d\n", cnt) ;for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;printf("\n") ;writeDat() ;}writeDat(){FILE *fp ;int i ;fp = fopen("out.dat", "w") ;fprintf(fp, "%d\n", cnt) ;for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ; fclose(fp) ;}2. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b 中。

c上机例题100(带答案)

c上机例题100(带答案)

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C语言上机100题

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所指的数组中.答案:void fun(int m, int k,int xx[]){int g=0,I,j,flag=1;for(i=m+1;i<m*m;i++){for(j=0;j<I;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if (flag==1 &&j〉=i){if (k>=0){xx[g++]=i;k——;}elsebreak;}}}6:第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符.其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。

三级C语言上机南开100题_修订word版

三级C语言上机南开100题_修订word版

*******************************************************************************☆题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k 个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

部分源程序存在文件prog1.c中。

例如:若输入17 5 则应输出:19,23,29,31,37。

请勿改动主函数main()和写函数writeDat()的内容。

int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){ qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10;if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}******************************************************************************★题目3(字符型题)函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。

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

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

国家计算机二级考试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。

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

C语言上机100题

C语言上机100题

一、填空题考试做题要求:1、在__1__处填写正确的答案,并将下划线和数字删除。

2、将题目做完之后一定要保存。

3、不能删除/**********found**********/,也不能多行或少行。

1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。

当调用正确时, 程序输出:x1=5.000000, x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!#include <stdio.h>double f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。

#include <stdio.h>#include <string.h>struct student {long sno;char name[10];float score[3];};void fun(struct student a[], int n){ /**********found**********/__1__ t;int i, j;/**********found**********/for (i=0; i<__2__; i++)for (j=i+1; j<n; j++)/**********found**********/if (strcmp(__3__) > 0){ t = a[i]; a[i] = a[j];a[j] = t; }}main(){ struct student s[4]={ {10001,"ZhangSan", 95, 80, 88}, {10002,"LiSi", 85, 70, 78}, {10003,"CaoKai", 75, 60, 88},{10004,"FangFang", 90, 82, 87}};int i, j;printf("\n\nThe original data :\n\n");for (j=0; j<4; j++){printf("\nNo:%ldName:%-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}fun(s, 4);printf("\n\nThe data after sorting:\n\n");for (j=0; j<4; j++){ printf("\nNo: %ld Name: %-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}}3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。

二级C语言上机考试100套真题答案(背诵版)

二级C语言上机考试100套真题答案(背诵版)

二级C语言上机考试100套真题答案(背诵版)被二级上机考试困扰,本人归纳出来的索引小抄(怕被逮,拿来背也是可以的),本人就此过了二级。

归纳简单易懂,抄时查看方便。

重点:你放心,别担心里边的题错啥的,本人细心总结的,共100题,每题都是准确的!!检索方法:共三题(填空,改错,程序),按每题的第一个字来检索,一定是第一个字,所以三题就是三个字。

重点是但这里的每套题里面才两个字,那是为了方便(因为程序题答案太长),适合要求低分的同学。

三字的我也会上传在我的文档里面。

重点:一定要下载检索表,按首字来查找,方便快速找题!!第一套1将1 struct student2 n-13 a[i].name,a[j].name 2在1 q=p+i; 2 while(q>p)第二套1删1q 2 next 3 next2用1 p=j; 2 p=i;第三套1逆1 n/2 2 i 3 a[n-i-1]2将1 n=*p-'0'; 2 n=n*8+*p-'0';第四套1在1 NULL 2 n 3 head,ch2删1. for(i=0,t=0;p[i];i++)2. c[t]='\0';第五套1.计(1) 0 (2) n (3) (t*t)2统(1)for(i=0;str[i];i++) (2) if(substr[k+1]= ='\0')第六套1.将1 s[i] 2 k 3 02.将1 while(*w) 2 if(*r = =*p)第七套1 程序1 struct student *2 a->score[i]3 a2.从1 char *fun(char (*sq)[M])2 return sp;第八套1.将1 1 2 i 3 a[p+i]2.把1 float k; 2 if(*a<*c)第九套1.计1 x[i]/N 2 j++ 3 i++2.统1 num[k]=0; 2 switch(*s)第十套1程序 1 struct student 2 /doc/177712401.html, 3 a.score[i] 2删1 if(p= =n) return-1; 2 a[i]=a[i+1];第十一套1.计1 s/N 2 j++ 3 -12.读 1 #include 2 void upfst (char *p)第十二套1.将1 fp 2 fclose(fp) 3 fname2.将1 for(i=j+1;i<="">1.找1 a[0][i] 2 < 3 x,y2.交 1 void fun(int *x,int *y) 2t=*x;*x=*y;*y=t;第十四套1. 函数1 && 2 'A' 3 ch2给1 void fun(int *a) 2 a[j]=a[j-1]; 第十五套1.把1 1 2 s[k] 3 c2.求1 long s=0,t=0; 2 t=t/10;第十六套1.找1 STU 2 std[i].num 3 std[i]2.从1 if(*r==*p){r++;p++;}2 if(*r= ='\0')第十七套1.统1 s[i] 2 '9' 3 *t = n;2.通1 t=*x;*x=y; 2 return(t);第十八套1.有1 i++ 2 m 3 m2.计 1 while((high >= 2)&&(n<10)) 2 yes=0;break;第十九套1.将1 k 2 N-1 3 temp2根1 void fun(int a[][M],int m)2 a[j][k]=(k+1)*(j+1);第二十套1.对1 t=i 2 i 3 02.用1 while(fabs(t)>=num) 2 t=s/n; 第二十一套1.在1 [M] 2 N 3 '\0'2.根1 t=1.0; 2 return(s*2);第二十二套1.将1 k 2 N 3 a[k][i]2读 1 for(i=strlen(t)-1;i;i--) 2if(t[j]>t[j+1])第二十三套1.调1 "r" 2 fs 3 ft2.将1 if(d%2==0) 2 s/=10;第二十四套1程序(1) a (2)/doc/177712401.html,(3)score[i] 2从1 s[j++]=s[i]; 2 s[j]='\0';第二十五套1.首1 a[i] 2 a[i] 3 02.为1 y=1; 2 d=a-i;第二十六套1.最1 [N] 2 i 3 i+12.将1 void fun(int m, int k)2 aa[i]=m%k;3 printf(“%d”,aa[i-1]);第二十七套1.计1 1.0 2 -1 3 t2从1 for(i=1;i<=3;i++)2 if(k>=0&&k<=6)第二十八套1.计1 sum=0 2 t[i][i] 3 12.用1 double r;2 while(fabs(n-m)>0.001)第二十九套1.有1 0 2 j-- 3 j2.计1 double f(double x) 2 return s;第三十套1.把第一处 1 第二处 j++ 第三处 j2.求1 t=a;a=b;b=t; 2 return (b);第三十一套1.在1 N 2 k 3 ss[i]2.逐1 int k=0; 2 while(*p||*q)第三十二套1.把1 x 2 p 3 s2.计1 long k=1; 2 num/=10第三十三套1.在1 N 2 substr 3 02.求 1 fun(int x,int y,int z) 2return j;第三十四套1.在1 N 2 i 3 -12.从1 a2=k/10; 2 return i;第三十五套1.统1 *n 2 next 3 head2.求1 a=NULL; 2 if(*r==*p)第三十六套1.函数1 char 2 ch<='9' 3 '0'2.将1 b[k]=*p; 2 b[k]='';k++;第三十七套1.把1 a[i]%2 2 a[j] 3 j2.按1 fun(int n) 2 if(n==1)第三十八套1.利1 i 2 ps[j] 3 tp2.计1 double fun(int n) 2 return sum; 第三十九套1.计1 *av 2 i 3 x[j];2.根 1 float fun(int n) 2for(i=2;i<=n;i++)第四十套1.将1 j++ 2 s[i]=t1[i] 3 j2.用 1 for(j=i+1;j<6;j++) 2*(pstr+i)=*(pstr+j);第四十一套1.将1 48 2 s++ 3 sum2.计1 if((k%13==0││(k%17==0))2 }第四十二套1给定1 p->next 2 q 3 p->next2将1 while(*s) 2 s++;第四十三套1 判1 02 ||3 12根1 t=t-1.0/i; 2 return t;第四十四套将1 N 2 N-1 3 02计1 s=s+(n+1.0)/n; 2 return t;第四十五套1 2、1 next2 NULL3 r2计1 r=t; 2 r=t;第四十六套1将1 *s 2 s++ 3 n2由1 { int j,c=0;float xa=0.0;2 if(x[j]>=xa)第四十七套1计1 x 2 n 3 fabs(t)2求1 for(i=1;i<=y;i++) 2 t=t%1000;第四十八套1计1 data2 next3 head2将1 while(*r) 2 *a=*r;a++;r++; 第四十九套1把1 t,s 2 s[i] 3 02找1 if(i%k==0) 2 if(k>=i)第五十套1将1 j 2 k 3 p2首1 while(i<="" p="">第五十一套1计1 0 2 i++ 3 2.0*i2将1 void fun(char*s, char *t) 2 t[2*d]='\0';第五十二套1在1 j 2 0 3 i++2根 1 for(i=2;i<=m;i++) 2y-=1.0/(i*i);第五十三套1将1 std[] 2 PERSON 3 std2将1 int k,q,i; 2 pt[i]=str[k][i]; 第五十四套1计1 0.0 2 x[i]/N 3 j++2根 1 double fun(int m) 2for(i=100;i<=m;i+=100)第五十五套1判1 s 2 -- 3 return 02求1 double fun(int n)2 s=s+(double)a/b;第五十六套1.从1 *fw 2 str 3 str2从 1 void fun(long s,long*t) 2s1=s1*10;第五十七套1计1 n++ 2 0 3 s++;2从1 t+=s[k]; 2 *aver=ave;第五十八套1计 1. x=3.0/4; 2 while(x>e) 3x=(2*i+1)/(t*t);2求 1 double fun(int n) 2s=s+(double)a/b;第五十九套1把1 a[i] 2 a[j] 3 a[j]2用 1 switch(g)去掉分号2 case 1:return 1; case 2:return 1;第六十套1有1 [N] 2 t[i][j] 3 t[j][i]2计 1 #define FU(m,n) ((m)/(n))2 return (value);第六十一套1找1 std[i].year 2 std[i] 3 n2读1 IsPrime (int n) 2 if (!(n%i))第六十二套1将1 t [] [N] 2 i=0; i<="">2利 1 fun (int a [], int m)2 else if (m>a [mid])第六十三套1求1 M 2 < 3 k2将1 if (( ' a ' <=tt[i])&&(tt[i]<= ' z ' )) 2 tt[ i ]- =32;第六十四套1对1 i+1 2 k=j 3 t2判1 void fun(char *str, char ch ) 2 if (*str! =ch) 3 str [1]=0;第六十五套1计1 1 2 2*i 3 (-1)2判 1 k++; 2 if (m==k)第六十六套1在1 && 2 0 3 s [j]2根1 for (i =2 ; i<= m; i++) 2 y+=1. 0/( i* i) ;第六十七套1找1 999 2 t/10 3 x2从 1 void fun (long s, long *t)2 while (s>0)第六十八套1将(1)0(2) 10*x (3)n/102将1 *t=0; 2 if (d%2!=0)第六十九套1 甲乙 1 i2 t++ 3count2根1 int fun (int a,int b, int c)2 else return 1;第七十套1统1 (n%10) 2 break 3 break2统1 if (t==0) 2 *zero =count;第七十一套1把1 a[] 2 2 3 i+12按1 sum=0.0; 2 if ((i+1)%5==0)第七十二套1统1 j=2 2 i 3 j2计1 sum =0; j=0; 2 if (sum %4==2) 第七十三套1计1 x 2 n 3 t2计1 d=1 ; s=0 ; 2 d=d/10 ;第七十四套1.计1 1 2 1 3 i2找1 k= i ; 2 c=k%10;第七十五套1给定1 next 2 t->data 3 t2将1 fun (char *a )2 printf ( "%c" , *a);第七十六套1在给1 '\0' 2 0 3 c2计1 double sum =0. 0; 2 sum/=c; 第七十七套1将1 10 2 0 3 x2计1 if (n==0) 2 result *=n--;第七十八套1 给定1 FILE*2 fp3 ch2依1 s [j++]=s [ i ]; 2 s [ j ]= ' \ 0 ' ; 第七十九套110. 1 h - >next 2 p - > next 3 >2求1 p= h - >next; 2 p=p->next;第八十套1 X 1 double2 f 13 f 22 给1 while(p!=NULL) 2 p= p - >next; 第八十一套1 给定1 FILE* fp2 fclose (fp) 3fp2对1 t=calloc(m,sizeof(STU));2 t [k] =b [ j ] ;第八十二套1 x 1 double2 f13 f22比1 char *fun (char *s ,char *t)2 ss++;3 tt++;第八十三套1 程序1 tt2 tt.score [ i ]3 std2求1 m= i ; 2 if ( a [k]>a [m]) m=k; 第八十四套1 程序1 filename2 fp3 fp2 给定 1 p=(NODE*) malloc (sizeof(NODE)); 2 return h;第八十五套1 程序1 "r"2 >3 fwrite2在1 p=s ; 2 while (*p++)第八十六套1 2、1 NODE2 next3 r2将1 if ( i % 2 || s [ i ]%2= =0 )2 t [ j ]= ' \0 ' ;第八十七套1 程序1 fp2 = =3 fp12利1 n=strlen (aa); 2 ch =aa [i];第八十八套1调1 N 2 break 3 n2先1 sum=02 scanf ("%d" , &a [ i ] [ j ]) ;第八十九套1求1 [N] 2 len 3 *n=len2根1 t+=1. 0/ i ; 2 return t;第九十套1求1 ss[i] 2 n+j 3 12将1 if(*p= =' ')2 *(p-1)=toupper(*(p-1));第九十一套1将 1 std[0] 2 std[i].age 3 /doc/177712401.html,2实1 void fun(int *a,int *b)2 t=*b;*b=*a;*a=t;第九十二套1将1 '0' 2 s++ 3 ctod(a)+ctod(b)2分1 void fun ( char *s, int *a, int *b ) 2*a=*a+1; 3 *b=*b+1;第九十三套1找1 0 2 x 3 t++2先1 int i,s1; 2 t[i]=s[s1-i-1];第九十四套1从1 a 2 a 3 b2首1 c=c+32; 2 c=c+5;第九十五章1 给定 1 STYPE2 FILE 3fp2先1 for(i=0;i<="" p="" t[2*s1]="\0"> 第九十六套1 程序1 ->sno2 ->name3 &t2应1 double fun(double a,double x0) 2 if(fabs(x1-x0)>0.00001)第九十七套1找1 *s 2 1 3 k[n]2求1 float fun(int k) 2 return s;第九十八套1将1 1 2 s>0 3 i*102输1 int fun(int n,int xx[][M])2 printf("%d",xx[i][j]);第九十九套1求1 k 2 len 3 ss[i][j]2计1 result *=n--; 2 return result;第一百套1 给1 STU2 score[i]3 &std2求1 if(k>1) 2 elsse if(k= =0)答题方法,例如100题:1填空题例如程序中__1__,对应答案1,把__1__删除填入STU都填完(一般2-3个空)然后编译程序即可。

全国计算机二级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的一个实根。

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

全国计算机等级考试二级C语言上机考试题库100道
1 if((k%13==0││(k%17==0))
2 }
3. 请编写函数fun,它的功能是:求小于形参n同时能被3和7整除的所有自然数之和的平方根,并作函数的返回值。
double sum=0.0;
int i;
for(i=21;i<=n;i++)
if((i%3= =0)&&(i%7= =0))sum
1 *n 2 next 3 head
2. 给定程序MODI1.C中函数fun的功能是:求出s所指字符串最后一次出现的t所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。
1 a=NULL; 2 if(*r==*p)
2. 给定程序MODI1.C中函数fun的功能是:按以下递推公式求函数值。例如,当给n输出5时,函数值为18;当给n输入3时,函数值为14.
1 fun(int n) 2 if(n==1)
3. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
2给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母顺序的后续字母(但Z转化成A,z转换为a),其它字符不变。
1 while(*s) 2 s++;
3 请编写函数fun,函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于 等于n-1)的数组元素平移到数组的最后。
1 N 2 substr 3 0
2. 给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。

计算机等级考试二级C语言上机题库100套题

计算机等级考试二级C语言上机题库100套题

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

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

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name )>0)2程序修改/**found**/q=p+i;/**found**/while(q>p)3程序设计int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun 的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改/**found**/p=j;/**found**/p=i;3. 程序设计void fun(int m,int *a,int *n) {int i;*n=0;for(i=7;i<=m;i++)if((i%7==0)||(i%11==0))a[(*n)++]=i;}第三套1. 程序填空函数fun的功能是:逆置数组元素是的值。

例如:若a 所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。

形参n给出数组中数组中数据的个数。

第一处for(i=0;i<n/2;i++)第二处a[i]=a[n-1-i];第三处a[n-i-1]=t;2程序修改/**found**/n=*p-…0‟;/**found**/n=n*8+*p-…0‟; 3. 程序设计STREC fun(STREC*a,char*b){STREC c;Int i;c.num[0]=‟\0‟;c.s=-1;for(i=0;i<N;i++)if(strcmp(a[i].num,b)==0){strcpy(c.num,a[i].num);c.s=a[i].s;break;}return c;}第四套1.程序填空给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。

C语言上机考试编程题以及答案

C语言上机考试编程题以及答案

C语言上机考试编程题以及答案1、求1+2+3+……….+100。

(循环)答案#include<stdio.h>void main(){int i,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("%d",sum);}2、求1*2*3*……….*10。

(循环)答案void main(){int i=0,j=1;for (i=2;i<=10;i++){j*=i;}printf("%d",j);return 0;}3、输入三个数字,输出他们的最大值。

(if)答案#include<stdio.h>void main(){int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b,c);printf("max=%d",d);getch();/*暂停看运行结果*/}int max(int x,int y,int z){int u;if(x>=y&&x>=z)u=x;else if(y>=x&&y>=z)u=y;elseu=z;return(u);4.用起泡法对十个数据排序(数组实现)答案#include<stdio.h>main ( ){ int i,j,t;static int a[10]={5,7,4,2,3,6,1,0,9,8};for(j=0;j<9;j++){ for(i=0;i<9-j;i++){ if(a>a){ t=a;a=a;a=t ;}}}for(i=0;i<10;i++)printf("%2d",a);}5、输入十个数字,逆序输出。

(数组实现)答案#include<stdio.h>main(){int a[10],i=0;for(i=0;i<=9;i++)scanf("%f",&a);printf("\n");for(i=9;i>=0;i--)printf("%f",a);}6输入两个数,交换他们的值并输出。

全国计算机等级考试三级C语言上机100题答案

全国计算机等级考试三级C语言上机100题答案

全国计算机等级考试三级C语言上机100题一.排序类:1.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:部分源程序存在文件prog1.c中。

程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文件IN.DA T中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

#include <stdio.h>#define MAX 200int a[MAX], b[MAX], cnt = 0 ;void jsVal(){int i,j,t;for(i=0;i<MAX;i++){t=a[i];if(t%2+t/10%2+t/100%2+t/1000%2==0)b[cnt++]=t;}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]){t=b[i];b[i]=b[j];b[j]=t;}}void readDat(){int i ;FILE *fp ;fp = fopen("in.dat", "r") ;fclose(fp) ;}void main(){int i ;readDat() ;jsVal() ;printf("满足条件的数=%d\n", cnt) ;for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;printf("\n") ;writeDat() ;}writeDat(){FILE *fp ;int i ;fp = fopen("out.dat", "w") ;fprintf(fp, "%d\n", cnt) ;for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ; fclose(fp) ;}2. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b 中。

全国计算机等级考试三级C语言上机100题(7)

全国计算机等级考试三级C语言上机100题(7)

全国计算机等级考试三级C语言上机100题为解决大部分考生使用网上不同的南开100题,造成对各个版本的解题方法各有不同的疑惑,加上很多解题不易理解,容易产生误解,现综合本论坛会员的反聩,以及2005年9月实际上机考试的情况,特对100题进行重新编排修订。

几点说明:1、题目标题号前用“☆”显示的是2005年4月份本人根据各大论坛考生聩的题号集中而来,题号前加“★”为2005年9月上机考试题,其中难免有题型相同而题号增加的现象,此类标明,仅供参考。

2、每种题目,只用一种解题方法,兰色部分为解题答案,此种方法本人觉得容易理解,不易出错,适合初学者。

3、特别说明:所有解法,本人均上机验证通过。

4、个别南开题如57、100题,题目与原书有所不同,是按实际考试的题目所来,并对今年在实际上机中出现的考题,用红色部分表示实际上机题中的注明事项。

★题目61(结构体运算题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。

其中:金额=单价*数量计算得出。

函数ReadDat()是读取这100个销售记录并存入结构数组sell中。

请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DA T中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

#include <stdio.h>#include <mem.h>#include <string.h>#include <conio.h>#include <stdlib.h>#define MAX 100typedef struct{char dm[5]; /*产品代码*/char mc[11]; /*产品名称*/int dj; /*单价*/int sl; /*数量*/long je; /*金额*/}PRO;PRO sell[MAX];void ReadDat();void WriteDat();void SortDat(){int i,j;PRO xy;for(i=0;i<99;i++)for(j=i+1;j<100;j++)if(sell[i].je>sell[j].je||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)<0) {xy=sell[i]; sell[i]=sell[j]; sell[j]=xy;}}void main(){memset(sell,0,sizeof(sell));ReadDat();SortDat();WriteDat();}void ReadDat(){FILE *fp;char str[80],ch[11];int i;fp=fopen("IN.DAT","r");for(i=0;i<100;i++){fgets(str,80,fp);memcpy(sell[i].dm,str,4);memcpy(sell[i].mc,str+4,10);memcpy(ch,str+14,4);ch[4]=0;sell[i].dj=atoi(ch);memcpy(ch,str+18,5);ch[5]=0;sell[i].sl=atoi(ch);sell[i].je=(long)sell[i].dj*sell[i].sl;}fclose(fp);}void WriteDat(void){FILE *fp;int i;fp=fopen("OUT2.DAT","w");for(i=0;i<100;i++){printf("%s %s %4d %5d %5d\n", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);fprintf(fp,"%s %s %4d %5d %5d\n", sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);}fclose(fp);}***************************************************************************** ☆题目62(字符替换题)无忧id 9 题条件微有不同函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx 的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS2.DAT中。

C语言上机编程100题

C语言上机编程100题
57请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。.txt
58请编写一个函数fun,它的功能是:求出一个2M整型二维数组中最大元素的值,并将此值返回调用函数。.txt
59函数fun的功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,.txt
38学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最.txt
39学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据.txt
66请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入.txt
67编写程序,实现矩阵(3行3列)的转置(即行列互换).txt
68编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返.txt
69编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址.(注意主函数中用作为.txt
74请编写函数fun,它的功能是:求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。.txt
75请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。.txt
76请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。.txt
50请编写函数fun,其功能是:计算并输出.txt
51函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中,合成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,.txt

c语言上机试题库及答案

c语言上机试题库及答案

c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。

```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。

```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。

(完整版)C语言上机练习题及答案

(完整版)C语言上机练习题及答案

(完整版)C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。

# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。

# include# define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。

# includevoid main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。

# includeint main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。

上机考试题库c语言

上机考试题库c语言

上机考试题库c语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。

2. 若有定义int a=10;,则表达式a++的值是______。

3. C语言中,用于声明一个浮点型变量的关键字是______。

4. 在C语言中,用于声明一个字符型变量的关键字是______。

5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf ("\n\ns=%f\n\n",s);
}
---------------------------------------------------
【1】double 【2】j 【3】1.0/t或(double)1/t
010
请补充main函数,该函数的功能是:求n!。
例如7!=5040。
001
请补充函数fun,函数fun的功能是求n的阶乘。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
---------------------
#include <stdio.h>
long fun(int n)
试题程序:
#include <stdio.h>
【1】fun (int n)
{
int i,j;
double sum=0.0,t;
for (i=1;i<=n;i++)
{
t = 0.0;
for (j=1;j<=i;j++)
t +=【2】;
sum +=【3】;
试题程序:
#include <stdio.h>
double fun(double r)
{
return 3.14159*_【1】_/2.0;
}
main( )
{
double x;
printf("Enter x:");
scanf("%lf",_【2】_);
printf("S=%lf\n",fun(_【3】_));
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
void fun(int k,int bb[])
{
int I;
int j=0;
for(【1】;I<=k;I++)
{
if(【2】)
bb[j++]=I;
{
s = s + (double)(n+1)/n;
【2】;
}
printf("n=%d\n",n);
【3】;
}
main( )
{
printf("%f\n",fun(50));
}
-------------------------------------------------
【1】<= 【2】n++或n+=1或n=n+1 【3】return s或return (s)
005
请补充函数fun,该函数的功能求能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。
例如当x=20时,依次输出:20 10 4 2。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
fun(k,bb);
}
----------------------------------------------------
【1】I=1 【2】k%I==0&&I%2==0 【3】--j或j--或j=j-1或j-=1
006
程序的功能是计算s=! !。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
void main()
{
int I,n;
003
给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S=πr2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仪在横线上填入所编写的若干表达式或语句。
【1】sum+=x[I] 【2】avg*1000 【3】(avg+5)/10
009
请补允函数fun,该函数的功能是:计算并输出下列多项式的值。
S
例如,若主函数从键盘给n输入50后,则输出为S=1.960784。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在 函数fun的横线上填若干表达式或语句。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
double fun(double x[10])
试题程序:
#include <stdio.h>
long fun(int n)
{
int i;
long s;
s = 【1】_;
for(i=1; i<=n; i++)
s = 【2】;
return s;
}
main( )
{
long s;
int k,n;
scanf ("%d",&n);
}
----------------------------------------------------
【1】r*r 【2】&x 【3】x
004
给定程序的功能是:计算并输出下列级数的前N项之和SN,直到SN大于q为止,q的值通过形参传入。
例如,若q的值为50.0,则函数值为50.416687。
002
请补充函数fun,它的功能是:计算并输出n(包括n)以内所有能被3或7整除的自然数的倒数之和。
例如,在主函数中从键盘给n输入30后,输出为:s=1.226323。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
}
void main()
{
double avg,x[10]={15.6,19.9,16.7,15.2,
18.3,12.1,15.5,11.0,10.0源自16.0}; int i;
system("CLS");
printf("\nThe original data is :\n");
}
printf("\n\n");
for(I=【3】;I>=0;I--)
printf("%d ",bb[I]);
}
void main()
{
int k=1;
int bb[100];
system("CLS");
printf("\nPlease input X=");
scanf("%d",&k);
s = 【3】;
for (k=0; k<=n; k++)
s =【4】;
printf("%id\n",s);
}
-------------------------------------------------
【1】1 【2】s*i或i*s 【3】0 【4】s+fun(k)
【1】0 【2】i<=x
008
请补充函数fun,该函数的功能是:求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如:当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,
10.0,16.0},结果为:avg=15.030000。
s=_【1】;
for (i=2;【2】; i+=2)
s+=i;
return s;
}
main( )
{
int n;
do
{
printf("\nPlease enter natural numbers n:");
int n;
double s;
printf("\nInput n:");
scanf("%d",&n);
s=fun(n);
printf("\n\ns=%f\n",s);
}
---------------------------------------------
【1】i<=n 【2】|| 【3】1.0或(double)1
相关文档
最新文档