全国计算机等级考试三级C语言上机100题答案
- 格式:doc
- 大小:215.50 KB
- 文档页数:45
全国计算机等级考试三级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题上机考试题库【终极无错版】【注:三级除PC技术考汇编外,其它均考C语言,其上机题库是一样的】【这是最经典的04版,我仔细对比了所谓的06版题库及08版上机模拟软件中的题,其实都是04版的。
09年笔试大纲有变动,但是机试题库应该不会换,因为再编个南开100题(库)没有必要,也很累,还不能保证正确性(起码要经过多番验证才能投入使用)。
参加09年三级考试的朋友请放心使用。
就算变动也不过是把改一下个别数组名、把“升序排列”改为“降序排列”、把“从小到大”改为“从大到小”等,所以请大家消除疑虑,放心使用】资料收集整理:(以后该网站将发布(收集和原创)计算机二三级资源、电脑常见问题的解决视频教程、网络相关问题文章,如果你遇到了电脑、网络方面的问题可以到这来查找视频和图文教程或咨询,也欢迎高手来此帮助他人解决问题)#下载地址:(有自带VC++的上机系统下载)题目前带★号的是在2004年4月份考试被考生们所确定了的上机题。
题目前带☆号的是在2004年9月份考试被考生们所确定了的上机题。
05年后抽到的题没作标识。
题目中所提示的“无忧id xx”指的是2004年上半年版无忧模拟系统中的固定抽题序号题目中所提示的“捷成id xx”指的是2004年上半年版捷成模拟系统中的固定抽题序号********************************题目1(无忧id 14、id 27(提供isP()函数;捷成id 23题)^请编写一个函数jsValue(int m,int k,intxx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件中。
部分源程序存在文件中。
例如:若输入17 5 则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
1、【考点分析】本题考查对4位整数的排序。
考查的知识点主要包括:数组元素的排序算法,if判断语句和逻辑表达式,以及求余算术运算。
【解题思路】此题属于4位数排序问题。
本题需主要解决3个问题:问题1如何取4位数的后3位进行比较;问题2如何按照题目要求的条件(按照每个数的后3位的大小进行降序排列,如果后3位相等,则按照原始4位数的大小进行升序排列)排序;问题3如何将排完序的前10个数存到数组bb中去。
本题的解题思路为:使用双循环对数组按条件进行排序,然后将排完序的前10个数存到数组bb中。
对于问题1可以通过算术运算的取余运算实现(aa[i]%1000);问题2通过包含if判断语句的起泡排序法就可以实现。
【参考答案】void jsSort(){int i,j; /*定义循环控制变量*/int temp; /*定义数据交换时的暂存变量*/for(i=0;i<199;i++) /*用选择法对数组进行排序*/for(j=i+1;j<200;j++){if(aa[i]%1000<aa[j]%1000) /*按照每个数的后3位大小进行降序排序*/{temp=aa[i];aa[i]=aa[j];aa[j]=temp;}else if(aa[i]%1000==aa[j]%1000) /*如果后3位数相等*/if(aa[i]>aa[j]) /*则要按原4位数的值进行升序排序*/{temp=aa[i];aa[i]=aa[j];aa[j]=temp;}}for(i=0;i<10;i++) /*将排序后的前10个数存入数组b中*/bb[i]=aa[i];}【易错提示】取4位数后三位的算法,if判断语句中逻辑表达式的比较运算符。
2、【考点分析】本题主要考查的知识点包括:C语言循环结构,if判断语句和逻辑表达式,以及分解多位整数的算术运算。
【解题思路】分析题干,本题除给出条件"SIX+SIX+SIX =NINE+NINE"之外,还可得出2个隐含的条件:条件1:SIX和NINE分别是3位和4位的正整数;条件2:SIX的十位数字等于NINE的百位数字,NINE的千位数字和十位数字相等。
1【审题关键句】将大于整数m且紧靠m的k个素数存入数组。
【解题思路】①首先定义一个计数变量cnt并赋初值为0。
②利用while循环统计大于整数m且紧靠m的k个素数,当计数变量cnt的值与变量k的值相等的时候,则退出while循环。
每执行一次循环时,变量m的值加1,然后调用函数isP()判断当前的m值是否为素数,如果是素数,则将m的值赋给数组xx[cnt],同时计算变量cnt的值加1,即当数组xx[0]中保存了一个素数之后,在下一次素数判断成立时将保存到xx[1]的位置上,依次类推。
【参考答案】int cnt = 0; //定义变量cnt并初值等于0while(cnt < k) //当cnt的值小于k时{m++; //变量m加1if(isP(m)) xx[cnt++] = m; //如果m为素数,则把其赋给数组元素xx[cnt],并且数组的下标cnt加1}2【审题关键句】求素数的个数及平均值,并计算非素数的平均值。
【解题思路】①首先定义循环变量i,然后通过for循环对数组a[300]中的每个元素a[i]调用函数isP(a[i])判断a[i]是否是素数(素数的算法已在isP()函数中给出,此处直接调用即可),如果是素数,则把其加到变量pjz1上,同时计数变量cnt加1,否则a[i]值加到变量pjz2上。
直到判断完数组a[300]中的所有数据后退出循环。
②求出pjz1、pjz2和cnt的值之后,再用变量pjz1的值除以cnt的值就得到素数的平均值,同时把这个值赋给变量pjz1,最后用变量pjz2的值除以300-cnt的值就得到非素数的平均值,并把这个值赋给变量pjz2。
【参考答案】int i; //定义变量ifor(i = 0; i < 300; i++) //循环变量i从0依次递增到299{if(isP(a[i])) //判断数组元素a[i]是否素数{pjz1 += a[i]; //把a[i]累加到变量pjz1cnt++; //变量cnt加1}else pjz2 += a[i]; //否则,把数组元素a[i]累加到变量pjz2 }pjz1 /= cnt; //所有素数的和pjz1除以素数的个数cnt,得到素数的平均值并赋给变量pjz1pjz2 /= (300 - cnt); //所有非素数的和pjz2除以非素数的个数300-cnt,得到非素数的平均值并赋给变量pjz23【审题关键句】100以内(含100)满足i、i+4、i+10都是素数的整数的个数以及这些i之和。
国家三级C语言专业技能100题★题目2(无忧id 143 整数排序题)已知数据文件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.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
#include#define MAX 200int a[MAX], b[MAX], cnt = 0 ;void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<max;i++)< bdsfid="74" p=""></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++)< bdsfid="81" p=""></cnt-1;i++)<>for(j=i+1;j<cnt;j++)< bdsfid="83" p=""></cnt;j++)<>if(b[i]}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) ;}★☆题目5(无忧id 8整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
*******************************************************************************☆题目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题打印版)****************************** ********第1题void num(int m,int k,int xx[]){int data=m+1;int half,n=0,I;while(1){half=data/2;for(I=2;I<=half;I++) if(data%I==0)break;if(I>half){xx[n]=data;n++;}if(n>=k)break;data++;}}***************************第2题void jsVal(){int bb[4];int I,j,k,flag;for (I=0;I<200;I++){bb[0]=a[I]/1000;bb[1]=a[I]%1000/100;bb[2]=a[I]%100/10;bb[3]=a[I]%10;for (j=0;j<4;j++){if (bb[j]%2==0)flag=1;else{flag=0;break;}}if (flag==1){ b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]<b[j]){k=b[I];b[I]=b[j];b[j]=k;}}**************************第3题void StrOR(void){int I,j,k,index,strl;char ch;for(I=0;I<maxline;I++){strl=strlen(xx[I]);index=strl;for(j=0;j<strl;j++)if(xx[I][j]=='o'){for(k=j;k<strl-1;k++)xx[I][k]=xx[I][k+1]; xx[I][strl-1]= ' ';index=j;}for(j=strl-1;j>=index;j--){ch=xx[I][strl-1];for(k=strl-1;k>0;k--)xx[I][k]=xx[I][k-1];xx[I][0]=ch;}}}*************************第4题void StrOL(void){int I,j,k,strl,l;char c;for(I=0;I<maxline;I++)for(j=0;j<strlen(xx[I]);j++){c=xx[I][j];if((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c==' ');else xx[I][j]=' ';}for(l=0;l<maxline;l++){char ch[80]={0};char pp[80]={0};strl=strlen(xx[l]);I=strl-1;k=1;while(1){while(((xx[l][I]>='a'&&xx[l][I]<='z')||(xx[l][I]>='A'&&xx[l][I]<='z'))&&I>=0){for(j=k;j>=0;j--)pp[j+1]=pp[j];pp[0]=xx[l][I];k++;I--;}strcat(ch,pp);strcpy(pp, "");k=1;if(I==-1)break;while((xx[l][I]<'A'||xx[l][I]>'z')&&I>=0){for(j=k;j>=0;j--)pp[j+1]=pp[j];pp[0]=xx[l][I];k++;I--;}strcat(ch,pp);strcpy(pp,"");k=0;if(I==-1)break;}strcpy(xx[l],ch);}}***************************第5题void jsSort(){int I,j,data;for(I=0;I<199;I++)for(j=I+1;j<200;j++){if (aa[I]%1000>aa[j]%1000){data=aa[I];aa[I]=aa[j];aa[j]=data;}else if(aa[I]%1000==aa[j]%1000)if(aa[I]<aa[j]){data=aa[I];aa[I]=aa[j];aa[j]=data;}}for(I=0;I<10;I++)bb[I]=aa[I];}*****************************************第6题void jsSort(){int I,j,data;for(I=0;I<199;I++)for(j=I+1;j<200;j++){if (aa[I]%1000<aa[j]%1000){data=aa[I];aa[I]=aa[j];aa[j]=data;}else if(aa[I]%1000==aa[j]%1000)if(aa[I]>aa[j]){data=aa[I];aa[I]=aa[j];aa[j]=data;}}for(I=0;I<10;I++)bb[I]=aa[I];}*****************************************第7题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].dm,sell[j].dm)<0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].dm,sell[j].dm)==0)if(sell[I].je<sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第8题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){if(*pf*11%256>130||*pf*11%256<= 32);else*pf=*pf*11%256;pf++;}}}****************************** ***********第9题void SortCharD(void){int I,j,k,strl;char ch;for(I=0;I<maxline;I++){strl=strlen(xx[I]);for(j=0;j<strl-1;j++)for(k=j+1;k<strl;k++)if(xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}****************************** ***********第10题void ConvertCharA(void){int I,j,str;for(I=0;I<maxline;I++){str =strlen(xx[I]);for(j=0;j<str;j++)if(xx[I][j]=='z')xx[I][j]='a';else if(xx[I][j]>='a'&&xx[I][j]<='y') xx[I][j]+=1;}}****************************** ***********第11题void chg(char*s){while(*s)if(*s=='z'||*s=='Z'){*s-=25;s++;}else if(*s>='a'&&*s<='y'){*s+=1;s++;}else if(*s>='A'&&*s<='Y'){*s+=1;s++;}else s++;} *****************************************第12题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].mc,sell[j].mc)>0){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].mc,sell[j].mc)==0)if(sell[I].je>sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第13题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].mc,sell[j].mc)>0){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].mc,sell[j].mc)==0)if(sell[I].je<sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第14题void jsVal(){int I,j,flag=0;int k;for(I=0;I<MAX-5;I++){for(j=I+1;j<=I+5;j++){if (a[I]>a[j])flag=1;else {flag=0;break;}if (a[I]%2==0)flag=0;}if (flag==1){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]>b[j]){k=b[I];b[I]=b[j];b[j]=k;}}*****************************************第15题void jsVal(){int I,j;int a1,a2,a3,a4,k;for (I=0;I<MAX;I++){a1=a[I]/1000;a2=a[I]%1000/100;a3=a[I]%100/10;a4=a[I]%10;if((a1<=a2)&&(a2<=a3)&&(a3<=a4)&&(a[I]%2==0)){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]>b[j]){k=b[I];b[I]=b[j];b[j]=k;}}*****************************************第16题void StrCharJR(void){int I,j,strl;for(I=0;I<maxline;I++){strl=strlen(xx[I]);for(j=0;j<strl;j++)xx[I][j]+=xx[I][j]>>4;}}*****************************************第17题void ChA(void){int I,j,k,str;char ch;for(I=0;I<maxline;I++){str=strlen(xx[I]);ch=xx[I][0];for(j=0;j<str-1;j++)xx[I][j]+=xx[I][j+1];xx[I][str-1]+=ch;for(j=0,k=str-1;j<str/2;j++,k--){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}****************************** ***********第18题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){if(*pf%2==0||*pf*11%256<=32) ;else*pf=*pf*11%256;pf++;}}}****************************** ***********第19题int findStr(char *str,char *substr){ int n;char *p , *r;n=0;while ( *str ){ p=str;r=substr;while(*r)if(*r==*p) { r++; p++; }else break;if(*r=='\0')n++;str++;}return n;}****************************** ***********第20题int jsValue(int t){ int f1=0,f2=1,fn;fn=f1+f2;while(fn<=t){f1=f2;f2=fn;fn=f1+f2;}return fn;}****************************** *********第21题float countValue(){float x0,x1=0.0;while(1){x0=x1;x1=cos(x0);if(fabs(x0-x1)<1e-6) break; }return x1;}*****************************************第22题double countValue(int n){double xy=0.0;int I;for(I=1;I<n;I++)if(I%3==0&&I%7==0) xy+=I;xy=sqrt((double)xy);return xy;}*****************************************第23题void CalValue(){int I;double x,sum=0;for (I=0;I<MAXNUM;I++){sumint=sumint+(int)xx[I];x=xx[I]-(int)xx[I];sumdec=sumdec+x;sum=sum+xx[I];}aver=sum/MAXNUM;}*****************************************第24题int jsValue(int bb[]){int I,j,k=0;int hun,ten,data;for(I=100;I<=999;I++){j=10;while(j*j<=I){if (I==j*j){hun=I/100;data=I-hun*100;ten=data/10;data=data-ten*10;if(hun==ten||hun==data||ten==data){bb[k]=I;k++;}}j++;}}return k;}*****************************************第25题int jsValue(long n){int I,strl,half;char xy[20];ltoa(n,xy,10);strl=strlen(xy);half=strl/2;for(I=0;I<half;I++)if(xy[I]!=xy[--strl]) break;if(I>=half) return 1;else return 0;}*****************************************第26题void CalValue(void){int I,data;for(I=0;I<MAXNUM;I++){if(!xx[I]) break;if(xx[I]>0) totNum++;data=xx[I]>>1;if(data%2==0){totCnt++;totPjz+=xx[I];}}totPjz/=totCnt;}*****************************************第27题void jsValue(){int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (thou-hun-ten-data>0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第28题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+ten;cd=10*data+hun;?LVAL ?•€ f •€ f •• •• •if ((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&ab!=0&&cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I<cnt-1;I++) for(j=I+1;j<cnt;j++) if(b[I]<b[j]) {data=b[I]; b[I]=b[j]; b[j]=data;} } ***************************************** 第29题 void jsVal() { int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I<200;I++) {thou=a[I]/1000; hun=a[I]%1000/100; ten=a[I]%100/10; data=a[I]%10; ab=10*thou+ten; cd=10*data+hun; if((ab-cd)>=10&&(ab-cd)<=20&&ab%2==0&&cd%2==0&&ab!=0&&cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I<cnt-1;I++) for(j=I+1;j<cnt;j++) if(b[I]<b[j]) {data=b[I]; b[I]=b[j]; b[j]=data;} } ***************************************** 第30题 void jsVal() {int I,j,flag=0; for(I=0;I<MAX-5;I++) {for(j=I+1;j<=I+5;j++) {if(a[I]<a[j]) flag=1; else flag=0; if(a[I]%2!=0) flag=0; if (flag==0) break;} if(flag==1) {b[cnt]=a[I];cnt++;} } for(I=0;I<cnt-1;I++) for(j=I+1;j<cnt;j++) if(b[I]>b[j]) {flag=b[I]; b[I]=b[j]; b[j]=flag;} } **************************************** 第31题 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) {xy=sell[I]; sell [I]=sell[j]; sell[j]=xy;} else if(sell[I].je==sell[j].je) if(strcmp(sell[I].dm,sell[j].dm)<0) {xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;} } ***************************************** 第32题 void SortDat( ) {int I,j; PRO xy; for(I=0;I<MAX-1;I++)for(j=I+1;j<MAX;j++) if(strcmp(sell[I].mc,sell[j].mc)<0) {xy=sell[I]; sell [I]=sell[j]; sell[j]=xy;} else if(strcmp(sell[I].mc,sell[j].mc)==0) if(sell[I].je>sell[j].je) {xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;} } ***************************************** 第33题 int ReadDat(void) {FILE *fp; int I,j; if((fp=fopen("IN.DAT","r"))==NULL) return 1; for(I=0;I<100;I++) {for(j=0;j<10;j++) fscanf(fp, "%d,", &xx[I*10+j]); fscanf(fp, "\n"); if(feof(fp)) break;} fclose(fp); return 0;} void Compute(void) {int I, yy[MAX]; for(I=0;I<1000;I++)if(xx[I]%2){odd++;ave1+=xx[I]; } else{even++;ave2+=xx[I]; yy[even-1]=xx[I];}ave1/=odd; ave2/=even; for(I=0;I<even;I++) totfc+=(yy[I]-ave2)*(yy[I]-ave2)/even; } ***************************************** 第34题 void countValue() {int I,j,half,hun,ten,data; for(I=101;I<1000;I++) {hun=I/100; ten=I%100/10; data=I%10; if(hun==(ten+data)%10) {half=I/2; for(j=2;j<half;j++) if(I%j==0) break; if(j>=half) {cnt++;sum+=I;} } } } ***************************************** 第35题 void jsValue() {int a1=1,a2=1,n=1,an; int sum0,sum; sum0=a1+a2; while(1) {an=a1+a2*2; sum=sum0+an; a1=a2; a2=an; n++; if (sum0<100&&sum>100) b[0]=n; if (sum0<1000&&sum>1000) b[1]=n; if (sum0<10000&&sum>10000) {b[2]=n; break;} sum0=sum; } } ***************************************** 第36题 void encryptChar( ) {int I; char *pf; for(I=0;I<maxline;I++) {pf=xx[I]; while(*pf!=0){if((*pf*11%256>='0'&&*pf*11%25 6<='9')||*pf*11%256<=32){pf++;continue;}*pf=*pf*11%256;pf++;}}}****************************** ***********第37题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){ if((*pf>='A'&&*pf<='Z')||*pf*11%256 <=32){pf++;continue;}*pf=*pf*11%256;pf++;}}}****************************** ***********第38题void SortDat( ){int I,j;PRO xy;for(I=0;I<MAX-1;I++)for(j=I+1;j<MAX;j++)if(strcmp(sell[I].dm,sell[j].dm)>0) {xy=sell[I];sell[I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].dm,sell[j].dm)==0) if(sell[I].je>sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}****************************** ***********第39题void CountRs(void){int I,j=0,k=0;char *str;for(I=0;I<10;I++)yy[I]=0;for(I=0;I<100;I++){str=xx[I];j=0;while(*str)if(*str=='1'){j++;str++;}else str++; if(j!=0&&j!=10){str=xx[I];k=0;while(*str)if(*str++=='1') yy[k++]+=1;else k++;}}}*****************************************第40题void CalValue(){int I,thou,hun,ten,data;int ab,sum=0;for(I=0;I<MAXNUM;I++){if(xx[I]>0) totNum++;{thou=xx[I]/1000;hun=xx[I]%1000/100;ten=xx[I]%100/10;data=xx[I]%10;ab=thou+hun+ten+data;if (ab%2==0){totCnt++;sum=sum+xx[I];}}}totPjz=sum/totCnt;}****************************************第41题void countValue(){int I=100;while(1){if(3*I%2==0&&3*I/2>=1000&&3*I/2<=9999){cnt++;sum+=I+3*I/2;I++;}else I++;if (I>999||3*I/2>9999) break;}}*****************************************第42题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].mc,sell[j].mc)<0){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].mc,sell[j].mc)==0)if(sell[I].je<sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第43题void jsSort(){int I,j,k,strl;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);for(j=1;j<strl-2;j=j+2)for(k=j+2;k<strl;k=k+2)if (xx[I][j]>xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}*****************************************第44题void jsSort(){int I,j,k,strl,half;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if (xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}for(j=half-1,k=strl-1;j>=0;j--,k--){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}*****************************************第45题void jsVal(){int I,j,flag=0;for(I=5;I<MAX-5;I++){for(j=I-5;j<I;j++){if(a[I]>a[j])flag=1;else flag=0;if(a[I]%2!=0)flag=0;if (flag==0) break;}if(flag==1) {b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){flag=b[I];b[I]=b[j];b[j]=flag;}}****************************** ***********第46题void jsVal(){int I,j,flag=0;for(I=5;I<MAX-5;I++){for(j=I-5;j<I;j++){if(a[I]>a[j])flag=1;else {flag=0;break;}}if(flag==1&&a[I]%2==1&&a[I]%7==0) {b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){flag=b[I];b[I]=b[j];b[j]=flag;}}**************************第47题void SortDat( ){int I,j;PRO xy;for(I=0;I<MAX-1;I++)for(j=I+1;j<MAX;j++)if(sell[I].je<sell[j].je){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}else if(sell[I].je==sell[j].je)if(strcmp(sell[I].dm,sell[j].dm)>0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}****************************** ******第48题void jsValue(){int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if(thou+data==hun+ten){b[cnt]=a[I];cn t++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;} }*****************************************第49题void jsValue(){int I,thou,hun,ten,data,n=0;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (thou-hun-ten-data>0){cnt++;pjz1+=a[I];}else {n++;pjz2+=a[I];}}pjz1/=cnt;pjz2/=n;}*****************************************第50题void jsSort(){int I,j,k,strl,half;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if (xx[I][j]>xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}for(j=half-1,k=strl-1;j>=0;j--,k--){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}****************************************第51题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+ten;cd=10*data+hun;if(isprime(ab)&&isprime(cd)&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第52题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+data;cd=10*hun+ten;if(ab%2==1&&cd%2==1&&(ab%5==0||cd%5==0)&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第53题void jsValue(){int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (data-thou-hun-ten>0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第54题void jsValue(){int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if(thou+hun==data+ten){b[cnt]=a[I];cn t++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}****************************** ***********第55题void jsValue(){int j,I,value;for(I=0;I<300;I++)if(isP(a[I])) {b[cnt]=a[I];cnt++;}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){value=b[I];b[I]=b[j];b[j]=value;}}****************************** ***********第56题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf=0){ if((*pf*11%256>='a'&&*pf*11%256< ='z')||*pf*11%256<=32){pf++;continue;}*pf=*pf*11%256;pf++;}}}****************************** ***********第57题void Josegh(void){int I,j,k,s1,w;s1=s;for(I=1;I<=n;I++) p[I-1]=I;for(I=n;I>=2;I--){s1=(s1+m-1)%I;if (s1==0) s1=I; w=p[s1-1];for(j=s1;j<=I-1;j++) p[j-1]=p[j];p[I-1]=w;}}*****************************************第58题void CountRs(void){int I,count,j;char *pf;for(I=0;I<10;I++)yy[I]=0;for(I=0;I<100;I++){pf=xx[I];count=0;while (*pf)if(*pf=='1'){count++;pf++;} elsepf++;if (count>5){pf=xx[I];j=0;while (*pf)if (*pf=='1') {yy[j]+=1;j++;pf++;}else if (*pf=='0') {pf++;j++;}}}}*****************************************第59题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+ten;cd=10*data+hun;if(((ab-cd)<0&&ab%2==1&&ab%5!=0)&&cd%2!=1&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第60题int jsSort(){int I,cnt=0,j;Data ch;for(I=0;I<200;I++)if(aa[I].x2>aa[I].x1+aa[I].x3){bb[cnt]=aa[I];cnt++;}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(bb[I].x2+bb[I].x3<bb[j].x2+bb[j].x3){ ch=bb[I];bb[I]=bb[j];bb[j]=ch;}return cnt;}****************************************第61题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){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}else if(sell[I].je==sell[j].je)if(strcmp(sell[I].dm,sell[j].dm)<0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第62题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){if((*pf*13%256)/2*2==*pf||*pf*13%256<=32){pf++;continue;}*pf=*pf*13%256;pf++;}}}*****************************************第63题void chg(char *s){int I,strl;char ch;strl=strlen(s);ch=*s;for(I=0;I<strl-1;I++)*(s+I)=*(s+I+1);*(s+strl-1)=ch;}****************************** ***********第64题void countValue(){int I,count=0,xx[30];int j,k,m;cnt=0;sum=0;for(I=1;I<=90;I++)if(isPrime(I)) {xx[count]=I;count++;} for(I=0;I<count;I++)if(isPrime(xx[I]+4)&&isPrime(xx[I]+1 0)){cnt++;sum+=xx[I];}}****************************** ***********第65题void CalValue(void){int I,thou,hun,ten,data;for(I=0;I<MAXNUM;I++){if (!xx[I]) break;if (xx[I]>0) totNum++;thou=xx[I]/1000;hun=xx[I]%1000/100;ten=xx[I]%100/10;data=xx[I]%10;if ((thou+hun+ten+data)%2){totCnt++;totPjz+=xx[I];}}totPjz/=totCnt;}****************************** ***********第66题void countValue(){int I,j,half,yy[100];for(I=500;I<=800;I++){half=I/2;for(j=2;j<half;j++)if (I%j==0) break;if (j>=half) {yy[cnt]=I;cnt++;}}for (I=0,j=-1;I<cnt;I++){j=j*-1;sum+=j*yy[I];}}****************************** ***********第67题void countValue(){int I,thou,hun,ten,data;for(I=5000;I>=1000;I--){thou=I/1000;hun=I%1000/100;ten=I%100/10;data=I%10; if(thou+hun==ten+data&&thou+hun==(data-thou)*10){cnt++;sum+=I;}}}*****************************************第68题void jsVal(){int I,thouhun,ten,data,j;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if(thou%2!=0&&hun%2!=0&&ten%2!=0&&data%2!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第69题void jsVal(){int I,thou,hun,ten,data,j;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if ((thou-hun-ten-data>=0)&&a[I]%2==1){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第70题void CalValue(void){int I,data;for(I=0;I<MAXNUM;I++){if(!xx[I]) break;if(xx[I]>0) totNum++;data=xx[I]>>1;if (data%2) {totCnt++;totPjz+=xx[I];}}totPjz/=totCnt;}*****************************************第71题void jsSort(){int I,j,k,strl,half;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if (xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}if (strl%2) half++;for(j=half;j<strl-1;j++)for(k=j+1;k<strl;k++)if (xx[I][j]>xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}*****************************************第72题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*data+thou;cd=10*hun+ten;if((ab%9==0||cd%9==0)&&ab%2!=1&&cd%2!=1&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第73题void ConvertCharD(){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while (*pf)if (*pf=='a'){*pf='z';pf++;}else if (*pf>='b'&&*pf<='z'){*pf-=1;pf++;}else pf++;}}****************************** ***********第74题void StrCharJL(void){int I,j,str;for(I=0;I<maxline;I++){str=strlen(xx[I]);for(j=0;j<str;j++)if (xx[I][j]<<4<=32||xx[I][j]<<4>100) ;else xx[I][j]+=xx[I][j]<<4;}}****************************** ***********第75题int jsSort(){int I,j,count=0;Data val;for(I=0;I<200;I++)if(aa[I].x1>aa[I].x2+aa[I].x3){bb[count].x1=aa[I].x1;bb[count].x2=aa[I].x2;bb[count].x3=aa[I].x3;count++;}for(I=0;I<count-1;I++)for(j=I+1;j<count;j++)if(bb[I].x1+bb[I].x3<bb[j].x1+bb[j].x3) {val=bb[I];bb[I]=bb[j];bb[j]=val;}return count;}****************************** ***********第76题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*data+thou; cd10*hun+ten;if((ab%2!=1&&cd%2==1)||(ab%2==1&&cd%2!=1)&&(ab%17==0||cd%17==0)&&ab!=0&&cd!=0)){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第77题void jsVal(){int I,thou,hun,ten,data,j;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if((thou+ten==hun+data)&&a[I]%2!=1){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第78题void jsVal(){int I,thou,hun,ten,data,j;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if((thou>=hun)&&(hun>=ten)&&(ten>=data)&&a[I]%2!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第79题void countValue(int *a,int *n){int I;*n=0;for(I=1;I<=1000;I++)if(I%7==0&&I%11){*a=I;*n=*n+1;a++;}else if(I%7&&I%11==0){*a=I;*n=*n+1;a++;}}*****************************************第80题void jsValue(){int I,thou,hun,ten,data,n=0;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (data-thou-hun-ten>0){cnt++;pjz1+=a[I];}else {n++;pjz2+=a[I];}}pjz1/=cnt;pjz2/=n;}*****************************************第81题void jsValue(){int I,thou,hun,ten,data,n=0;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (thou+hun==ten+data){cnt++;pjz1+=a[I];}else {n++;pjz2+=a[I];}}pjz1/=cnt;pjz2/=n;}*****************************************第82题void jsValue(){int I;for (I=0;I<300;I++)if (isP(a[I])) {pjz1+=a[I];cnt++;}else pjz2+=a[I];pjz1=pjz1/cnt;pjz2=pjz2/(300-cnt);。
答案见后面1.已知在文件IN.DA T中存在有100个产品销售记录,请编制函数SortDat(),其功能:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果存入结构数组sell中。
最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。
2.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列。
3.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列。
4.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列。
5.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列。
6.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按金额从大到小进行排列,若金额相同,则按产品名称从小到大进行排列。
7.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列。
8.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按产品名称从小到大进行排列,若产品名称相同,则按金额从大到小进行排列。
9.已知在文件IN.DA T中存在有100个产品销售记录,其功能:按金额从小到大进行排列,若金额相等,则按产品代码从大到小进行排列。
10. 已知在文件IN.DAT中存在有100个产品销售记录,其功能:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列。
11. 已知数据文件IN.DAT中存有300个四位数,并以调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排列。
全国计算机c语言试题及答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?- A. int- B. float- C. string- D. double2. 以下哪个是正确的C语言变量声明?- A. var int a;- B. int a = 0;- C. int a = 0.0;- D. int a = '0';3. 在C语言中,以下哪个是合法的数组初始化?- A. int arr[5] = {1, 2, 3};- B. int arr[5] = {1, 2, 3, 4};- C. int arr[5] = {1, 2, 3, 4, 5, 6};- D. int arr[5] = {1, 2, 3, 4.5, 5};4. 以下哪个是C语言中的函数原型?- A. void myFunction();- B. myFunction();- C. int myFunction(int, int);- D. myFunction(int a, int b);5. 在C语言中,以下哪个是正确的字符串常量?- A. "Hello World"- B. 'Hello World'- C. "Hello\nWorld"- D. "Hello\World"二、填空题1. 在C语言中,一个变量的声明必须在______。
2. 一个C语言程序的执行从______函数开始。
3. 用于输入输出的函数分别是______和______。
4. 一个数组的元素可以通过______访问。
5. 在C语言中,一个字符串常量以______结尾。
三、简答题1. 解释C语言中指针的概念及其用途。
2. 描述C语言中函数的作用域。
3. 简述C语言中结构体的定义和使用。
四、编程题1. 编写一个C语言程序,计算并输出1到100的整数和。
2. 编写一个C语言函数,实现字符串的反转。
2023年9月青少年软件编程C语言等级考试试卷三级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.谁是你的潜在朋友“臭味相投”——这是我们描述朋友时喜欢用的词汇。
两个人是朋友通常意味着他们存在着许多共同的兴趣。
然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。
幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。
首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。
同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。
你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。
时间限制:1000内存限制:65536输入第一行两个整数N,M,2<=N,M<=200。
接下来有N行,第i(i=1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)输出包括N行,每行一个数,第i行的数表示读者i有几个潜在朋友。
如果i和任何人都没有共同喜欢的书,则输出“BeiJu”(即悲剧,^^)样例输入452321样例输出1BeiJu1BeiJu参考答案:#include<iostream>using namespace std;int a[10000],ans,c;int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a[i]==a[j]){ans++;}}if(ans>1){cout<<ans-1<<endl;}else{cout<<"BeiJu"<<endl;}ans=0;}return0;}第2题.课程冲突小A修了n门课程,第i门课程是从第ai天一直上到第bi天。
****************************** ********三级c语言机试答案(南开100题打印版)****************************** ********第1题void num(int m,int k,int xx[]){int data=m+1;int half,n=0,I;while(1){half=data/2;for(I=2;I<=half;I++) if(data%I==0)break;if(I>half){xx[n]=data;n++;}if(n>=k)break;data++;}}***************************第2题void jsVal(){int bb[4];int I,j,k,flag;for (I=0;I<200;I++){bb[0]=a[I]/1000;bb[1]=a[I]%1000/100;bb[2]=a[I]%100/10;bb[3]=a[I]%10;for (j=0;j<4;j++){if (bb[j]%2==0)flag=1;else{flag=0;break;}}if (flag==1){ b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]<b[j]){k=b[I];b[I]=b[j];b[j]=k;}}**************************第3题void StrOR(void){int I,j,k,index,strl;char ch;for(I=0;I<maxline;I++){strl=strlen(xx[I]);index=strl;for(j=0;j<strl;j++)if(xx[I][j]=='o'){for(k=j;k<strl-1;k++) xx[I][k]=xx[I][k+1];xx[I][strl-1]= ' ';index=j;}for(j=strl-1;j>=index;j--){ch=xx[I][strl-1];for(k=strl-1;k>0;k--)xx[I][k]=xx[I][k-1];xx[I][0]=ch;}}}*************************第4题void StrOL(void){int I,j,k,strl,l;char c;for(I=0;I<maxline;I++)for(j=0;j<strlen(xx[I]);j++){c=xx[I][j];if((c>='A'&&c<='Z')||(c>='a'&&c<='z')||c==' ');else xx[I][j]=' ';}for(l=0;l<maxline;l++){char ch[80]={0};char pp[80]={0};strl=strlen(xx[l]);I=strl-1;k=1;while(1){while(((xx[l][I]>='a'&&xx[l][I]<='z')||(xx[l][I]>='A'&&xx[l][I]<='z'))&&I>=0){for(j=k;j>=0;j--)pp[j+1]=pp[j];pp[0]=xx[l][I];k++;I--;}strcat(ch,pp);strcpy(pp, "");k=1;if(I==-1)break;while((xx[l][I]<'A'||xx[l][I]>'z')&&I>=0){for(j=k;j>=0;j--)pp[j+1]=pp[j];pp[0]=xx[l][I];k++;I--;}strcat(ch,pp);strcpy(pp,"");k=0;if(I==-1)break;}strcpy(xx[l],ch);}}***************************第5题void jsSort(){int I,j,data;for(I=0;I<199;I++)for(j=I+1;j<200;j++){if (aa[I]%1000>aa[j]%1000){data=aa[I];aa[I]=aa[j];aa[j]=data;}else if(aa[I]%1000==aa[j]%1000)if(aa[I]<aa[j]){data=aa[I];aa[I]=aa[j];aa[j]=data;}}for(I=0;I<10;I++)bb[I]=aa[I];}*****************************************第6题void jsSort(){int I,j,data;for(I=0;I<199;I++)for(j=I+1;j<200;j++){if (aa[I]%1000<aa[j]%1000){data=aa[I];aa[I]=aa[j];aa[j]=data;}else if(aa[I]%1000==aa[j]%1000)if(aa[I]>aa[j]){data=aa[I];aa[I]=aa[j];aa[j]=data;}}for(I=0;I<10;I++)bb[I]=aa[I];}*****************************************第7题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].dm,sell[j].dm)<0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].dm,sell[j].dm)==0)if(sell[I].je<sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}精品文档****************************** ***********第8题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){if(*pf*11%256>130||*pf*11%256<= 32);else*pf=*pf*11%256;pf++;}}}****************************** ***********第9题void SortCharD(void){int I,j,k,strl;char ch;for(I=0;I<maxline;I++){strl=strlen(xx[I]);for(j=0;j<strl-1;j++)for(k=j+1;k<strl;k++)if(xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}****************************** ***********第10题void ConvertCharA(void){int I,j,str;for(I=0;I<maxline;I++){str =strlen(xx[I]);for(j=0;j<str;j++)if(xx[I][j]=='z')xx[I][j]='a';else if(xx[I][j]>='a'&&xx[I][j]<='y') xx[I][j]+=1;}}****************************** ***********第11题void chg(char*s){while(*s)if(*s=='z'||*s=='Z'){*s-=25;s++;}else if(*s>='a'&&*s<='y'){*s+=1;s++;}else if(*s>='A'&&*s<='Y'){*s+=1;s++;} else s++;}*****************************************第12题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].mc,sell[j].mc)>0){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].mc,sell[j].mc)==0)if(sell[I].je>sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第13题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].mc,sell[j].mc)>0){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].mc,sell[j].mc)==0)if(sell[I].je<sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第14题void jsVal(){int I,j,flag=0;int k;for(I=0;I<MAX-5;I++){for(j=I+1;j<=I+5;j++){if (a[I]>a[j])flag=1;else {flag=0;break;}if (a[I]%2==0)flag=0;}if (flag==1){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]>b[j]){k=b[I];b[I]=b[j];b[j]=k;}}*****************************************第15题void jsVal(){int I,j;int a1,a2,a3,a4,k;for (I=0;I<MAX;I++){a1=a[I]/1000;a2=a[I]%1000/100;a3=a[I]%100/10;a4=a[I]%10;if((a1<=a2)&&(a2<=a3)&&(a3<=a4)&&(a[I]%2==0)){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]>b[j]){k=b[I];b[I]=b[j];b[j]=k;}}*****************************************第16题void StrCharJR(void){int I,j,strl;for(I=0;I<maxline;I++){strl=strlen(xx[I]);for(j=0;j<strl;j++)xx[I][j]+=xx[I][j]>>4;}}*****************************************第17题void ChA(void){int I,j,k,str;char ch;for(I=0;I<maxline;I++){str=strlen(xx[I]);ch=xx[I][0];for(j=0;j<str-1;j++)xx[I][j]+=xx[I][j+1];xx[I][str-1]+=ch;for(j=0,k=str-1;j<str/2;j++,k--){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}精品文档}}****************************** ***********第18题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){if(*pf%2==0||*pf*11%256<=32) ;else*pf=*pf*11%256;pf++;}}}****************************** ***********第19题int findStr(char *str,char *substr){ int n;char *p , *r;n=0;while ( *str ){ p=str;r=substr;while(*r)if(*r==*p) { r++; p++; }else break;if(*r=='\0')n++;str++;}return n;}****************************** ***********第20题int jsValue(int t){ int f1=0,f2=1,fn;fn=f1+f2;while(fn<=t){f1=f2;f2=fn;fn=f1+f2;}return fn;}****************************** *********第21题float countValue(){float x0,x1=0.0;while(1){x0=x1; x1=cos(x0);if(fabs(x0-x1)<1e-6) break;}return x1;}*****************************************第22题double countValue(int n){double xy=0.0;int I;for(I=1;I<n;I++)if(I%3==0&&I%7==0) xy+=I;xy=sqrt((double)xy);return xy;}*****************************************第23题void CalValue(){int I;double x,sum=0;for (I=0;I<MAXNUM;I++){sumint=sumint+(int)xx[I];x=xx[I]-(int)xx[I];sumdec=sumdec+x;sum=sum+xx[I];}aver=sum/MAXNUM;}*****************************************第24题int jsValue(int bb[]){int I,j,k=0;int hun,ten,data;for(I=100;I<=999;I++){j=10;while(j*j<=I){if (I==j*j){hun=I/100;data=I-hun*100;ten=data/10;data=data-ten*10;if(hun==ten||hun==data||ten==data){bb[k]=I;k++;}}j++;}}return k;}*****************************************第25题int jsValue(long n){int I,strl,half;char xy[20];ltoa(n,xy,10);strl=strlen(xy);half=strl/2;for(I=0;I<half;I++)if(xy[I]!=xy[--strl]) break;if(I>=half) return 1;else return 0;}*****************************************第26题void CalValue(void){int I,data;for(I=0;I<MAXNUM;I++){if(!xx[I]) break;if(xx[I]>0) totNum++;data=xx[I]>>1;if(data%2==0){totCnt++;totPjz+=xx[I];}}totPjz/=totCnt;}*****************************************第27题void jsValue(){int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (thou-hun-ten-data>0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第28题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+ten;cd=10*data+hun;?LVAL ?•€ f •€ f •精品文档精品文档• • •• if ((ab-cd)>=0&&(ab-cd)<=10&&ab%2==1&&cd%2==1&&ab!=0&&cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I<cnt-1;I++) for(j=I+1;j<cnt;j++) if(b[I]<b[j]) {data=b[I]; b[I]=b[j]; b[j]=data;} } ***************************************** 第29题 void jsVal() { int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I<200;I++) {thou=a[I]/1000; hun=a[I]%1000/100; ten=a[I]%100/10; data=a[I]%10; ab=10*thou+ten; cd=10*data+hun; if((ab-cd)>=10&&(ab-cd)<=20&&ab%2==0&&cd%2==0&&ab!=0&&cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I<cnt-1;I++) for(j=I+1;j<cnt;j++) if(b[I]<b[j]) {data=b[I]; b[I]=b[j]; b[j]=data;} } ***************************************** 第30题 void jsVal() {int I,j,flag=0; for(I=0;I<MAX-5;I++) {for(j=I+1;j<=I+5;j++) {if(a[I]<a[j]) flag=1; else flag=0; if(a[I]%2!=0) flag=0; if (flag==0) break;} if(flag==1) {b[cnt]=a[I];cnt++;} } for(I=0;I<cnt-1;I++) for(j=I+1;j<cnt;j++) if(b[I]>b[j]) {flag=b[I]; b[I]=b[j]; b[j]=flag;} } **************************************** 第31题 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) {xy=sell[I]; sell [I]=sell[j]; sell[j]=xy;} else if(sell[I].je==sell[j].je) if(strcmp(sell[I].dm,sell[j].dm)<0) {xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;} } ***************************************** 第32题 void SortDat( ) {int I,j; PRO xy; for(I=0;I<MAX-1;I++)for(j=I+1;j<MAX;j++) if(strcmp(sell[I].mc,sell[j].mc)<0) {xy=sell[I]; sell [I]=sell[j]; sell[j]=xy;} else if(strcmp(sell[I].mc,sell[j].mc)==0) if(sell[I].je>sell[j].je) {xy=sell[I]; sell[I]=sell[j]; sell[j]=xy;} } ***************************************** 第33题 int ReadDat(void) {FILE *fp; int I,j; if((fp=fopen("IN.DAT","r"))==NULL) return 1; for(I=0;I<100;I++) {for(j=0;j<10;j++) fscanf(fp, "%d,", &xx[I*10+j]); fscanf(fp, "\n"); if(feof(fp)) break;} fclose(fp); return 0;} void Compute(void) {int I, yy[MAX]; for(I=0;I<1000;I++)if(xx[I]%2){odd++;ave1+=xx[I]; } else{even++;ave2+=xx[I]; yy[even-1]=xx[I];}ave1/=odd; ave2/=even; for(I=0;I<even;I++) totfc+=(yy[I]-ave2)*(yy[I]-ave2)/even; } ***************************************** 第34题 void countValue() {int I,j,half,hun,ten,data; for(I=101;I<1000;I++) {hun=I/100; ten=I%100/10; data=I%10; if(hun==(ten+data)%10) {half=I/2; for(j=2;j<half;j++) if(I%j==0) break; if(j>=half) {cnt++;sum+=I;} } } } ***************************************** 第35题 void jsValue() {int a1=1,a2=1,n=1,an; int sum0,sum; sum0=a1+a2; while(1) {an=a1+a2*2; sum=sum0+an; a1=a2; a2=an; n++; if (sum0<100&&sum>100) b[0]=n; if (sum0<1000&&sum>1000) b[1]=n; if (sum0<10000&&sum>10000) {b[2]=n; break;} sum0=sum; } } ***************************************** 第36题 void encryptChar( ) {int I; char *pf; for(I=0;I<maxline;I++) {pf=xx[I];while(*pf!=0){if((*pf*11%256>='0'&&*pf*11%25 6<='9')||*pf*11%256<=32){pf++;continue;}*pf=*pf*11%256;pf++;}}}****************************** ***********第37题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){ if((*pf>='A'&&*pf<='Z')||*pf*11%256 <=32){pf++;continue;}*pf=*pf*11%256;pf++;}}}****************************** ***********第38题void SortDat( ){int I,j;PRO xy;for(I=0;I<MAX-1;I++)for(j=I+1;j<MAX;j++)if(strcmp(sell[I].dm,sell[j].dm)>0) {xy=sell[I];sell[I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].dm,sell[j].dm)==0) if(sell[I].je>sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}****************************** ***********第39题void CountRs(void){int I,j=0,k=0;char *str;for(I=0;I<10;I++)yy[I]=0;for(I=0;I<100;I++){str=xx[I];j=0;while(*str)if(*str=='1'){j++;str++;} else str++;if(j!=0&&j!=10){str=xx[I];k=0;while(*str)if(*str++=='1') yy[k++]+=1;else k++;}}}*****************************************第40题void CalValue(){int I,thou,hun,ten,data;int ab,sum=0;for(I=0;I<MAXNUM;I++){if(xx[I]>0) totNum++;{thou=xx[I]/1000;hun=xx[I]%1000/100;ten=xx[I]%100/10;data=xx[I]%10;ab=thou+hun+ten+data;if (ab%2==0){totCnt++;sum=sum+xx[I];}}}totPjz=sum/totCnt;}****************************************第41题void countValue(){int I=100;while(1){if(3*I%2==0&&3*I/2>=1000&&3*I/2<=9999){cnt++;sum+=I+3*I/2;I++;}else I++;if (I>999||3*I/2>9999) break;}}*****************************************第42题void SortDat( ){int I,j;PRO xy;for(I=0;I<99;I++)for(j=I+1;j<100;j++)if(strcmp(sell[I].mc,sell[j].mc)<0){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}elseif(strcmp(sell[I].mc,sell[j].mc)==0)if(sell[I].je<sell[j].je){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第43题void jsSort(){int I,j,k,strl;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);for(j=1;j<strl-2;j=j+2)for(k=j+2;k<strl;k=k+2)if (xx[I][j]>xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}*****************************************第44题void jsSort(){int I,j,k,strl,half;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if (xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}for(j=half-1,k=strl-1;j>=0;j--,k--){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}*****************************************第45题void jsVal(){int I,j,flag=0;for(I=5;I<MAX-5;I++){for(j=I-5;j<I;j++){if(a[I]>a[j])flag=1;else flag=0;if(a[I]%2!=0)flag=0;if (flag==0) break;}if(flag==1) {b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){flag=b[I];b[I]=b[j];b[j]=flag;}精品文档}****************************** ***********第46题void jsVal(){int I,j,flag=0;for(I=5;I<MAX-5;I++){for(j=I-5;j<I;j++){if(a[I]>a[j])flag=1;else {flag=0;break;}}if(flag==1&&a[I]%2==1&&a[I]%7==0) {b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){flag=b[I];b[I]=b[j];b[j]=flag;}}**************************第47题void SortDat( ){int I,j;PRO xy;for(I=0;I<MAX-1;I++)for(j=I+1;j<MAX;j++)if(sell[I].je<sell[j].je){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}else if(sell[I].je==sell[j].je)if(strcmp(sell[I].dm,sell[j].dm)>0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}****************************** ******第48题void jsValue(){int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if(thou+data==hun+ten){b[cnt]=a[I];cn t++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j]; b[j]=data;}}*****************************************第49题void jsValue(){int I,thou,hun,ten,data,n=0;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (thou-hun-ten-data>0){cnt++;pjz1+=a[I];}else {n++;pjz2+=a[I];}}pjz1/=cnt;pjz2/=n;}*****************************************第50题void jsSort(){int I,j,k,strl,half;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if (xx[I][j]>xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}for(j=half-1,k=strl-1;j>=0;j--,k--){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}****************************************第51题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+ten;cd=10*data+hun;if(isprime(ab)&&isprime(cd)&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第52题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+data;cd=10*hun+ten;if(ab%2==1&&cd%2==1&&(ab%5==0||cd%5==0)&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第53题void jsValue(){int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (data-thou-hun-ten>0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第54题void jsValue()精品文档{int I,thou,hun,ten,data,j;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if(thou+hun==data+ten){b[cnt]=a[I];cn t++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}****************************** ***********第55题void jsValue(){int j,I,value;for(I=0;I<300;I++)if(isP(a[I])) {b[cnt]=a[I];cnt++;}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){value=b[I];b[I]=b[j];b[j]=value;}}****************************** ***********第56题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf=0){ if((*pf*11%256>='a'&&*pf*11%256< ='z')||*pf*11%256<=32){pf++;continue;}*pf=*pf*11%256;pf++;}}}****************************** ***********第57题void Josegh(void){int I,j,k,s1,w;s1=s;for(I=1;I<=n;I++) p[I-1]=I;for(I=n;I>=2;I--){s1=(s1+m-1)%I; if (s1==0) s1=I;w=p[s1-1];for(j=s1;j<=I-1;j++) p[j-1]=p[j];p[I-1]=w;}}*****************************************第58题void CountRs(void){int I,count,j;char *pf;for(I=0;I<10;I++)yy[I]=0;for(I=0;I<100;I++){pf=xx[I];count=0;while (*pf)if(*pf=='1'){count++;pf++;} elsepf++;if (count>5){pf=xx[I];j=0;while (*pf)if (*pf=='1') {yy[j]+=1;j++;pf++;}else if (*pf=='0') {pf++;j++;}}}}*****************************************第59题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*thou+ten;cd=10*data+hun;if(((ab-cd)<0&&ab%2==1&&ab%5!=0)&&cd%2!=1&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第60题int jsSort(){int I,cnt=0,j;Data ch;for(I=0;I<200;I++)if(aa[I].x2>aa[I].x1+aa[I].x3){bb[cnt]=aa[I];cnt++;}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(bb[I].x2+bb[I].x3<bb[j].x2+bb[j].x3){ ch=bb[I];bb[I]=bb[j];bb[j]=ch;}return cnt;}****************************************第61题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){xy=sell[I];sell [I]=sell[j];sell[j]=xy;}else if(sell[I].je==sell[j].je)if(strcmp(sell[I].dm,sell[j].dm)<0){xy=sell[I];sell[I]=sell[j];sell[j]=xy;}}*****************************************第62题void encryptChar( ){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while(*pf!=0){if((*pf*13%256)/2*2==*pf||*pf*13%256<=32){pf++;continue;}*pf=*pf*13%256;pf++;}}}*****************************************第63题void chg(char *s){int I,strl;char ch;strl=strlen(s);ch=*s;for(I=0;I<strl-1;I++)*(s+I)=*(s+I+1);*(s+strl-1)=ch;精品文档}****************************** ***********第64题void countValue(){int I,count=0,xx[30];int j,k,m;cnt=0;sum=0;for(I=1;I<=90;I++)if(isPrime(I)) {xx[count]=I;count++;} for(I=0;I<count;I++)if(isPrime(xx[I]+4)&&isPrime(xx[I]+1 0)){cnt++;sum+=xx[I];}}****************************** ***********第65题void CalValue(void){int I,thou,hun,ten,data;for(I=0;I<MAXNUM;I++){if (!xx[I]) break;if (xx[I]>0) totNum++;thou=xx[I]/1000;hun=xx[I]%1000/100;ten=xx[I]%100/10;data=xx[I]%10;if ((thou+hun+ten+data)%2){totCnt++;totPjz+=xx[I];}}totPjz/=totCnt;}****************************** ***********第66题void countValue(){int I,j,half,yy[100];for(I=500;I<=800;I++){half=I/2;for(j=2;j<half;j++)if (I%j==0) break;if (j>=half) {yy[cnt]=I;cnt++;}}for (I=0,j=-1;I<cnt;I++){j=j*-1;sum+=j*yy[I];}}****************************** ***********第67题void countValue(){int I,thou,hun,ten,data;for(I=5000;I>=1000;I--){thou=I/1000;hun=I%1000/100;ten=I%100/10;data=I%10; if(thou+hun==ten+data&&thou+hun==(data-thou)*10){cnt++;sum+=I;}}}*****************************************第68题void jsVal(){int I,thouhun,ten,data,j;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if(thou%2!=0&&hun%2!=0&&ten%2!=0&&data%2!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第69题void jsVal(){int I,thou,hun,ten,data,j;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if ((thou-hun-ten-data>=0)&&a[I]%2==1){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第70题void CalValue(void){int I,data;for(I=0;I<MAXNUM;I++){if(!xx[I]) break;if(xx[I]>0) totNum++;data=xx[I]>>1;if (data%2) {totCnt++;totPjz+=xx[I];}}totPjz/=totCnt;}*****************************************第71题void jsSort(){int I,j,k,strl,half;char ch;for(I=0;I<20;I++){strl=strlen(xx[I]);half=strl/2;for(j=0;j<half-1;j++)for(k=j+1;k<half;k++)if (xx[I][j]<xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}if (strl%2) half++;for(j=half;j<strl-1;j++)for(k=j+1;k<strl;k++)if (xx[I][j]>xx[I][k]){ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}}}*****************************************第72题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*data+thou;cd=10*hun+ten;if((ab%9==0||cd%9==0)&&ab%2!=1&&cd%2!=1&&ab!=0&&cd!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第73题精品文档void ConvertCharD(){int I;char *pf;for(I=0;I<maxline;I++){pf=xx[I];while (*pf)if (*pf=='a'){*pf='z';pf++;}else if (*pf>='b'&&*pf<='z'){*pf-=1;pf++;}else pf++;}}****************************** ***********第74题void StrCharJL(void){int I,j,str;for(I=0;I<maxline;I++){str=strlen(xx[I]);for(j=0;j<str;j++)if (xx[I][j]<<4<=32||xx[I][j]<<4>100) ;else xx[I][j]+=xx[I][j]<<4;}}****************************** ***********第75题int jsSort(){int I,j,count=0;Data val;for(I=0;I<200;I++)if(aa[I].x1>aa[I].x2+aa[I].x3){bb[count].x1=aa[I].x1;bb[count].x2=aa[I].x2;bb[count].x3=aa[I].x3;count++;}for(I=0;I<count-1;I++)for(j=I+1;j<count;j++)if(bb[I].x1+bb[I].x3<bb[j].x1+bb[j].x3) {val=bb[I];bb[I]=bb[j];bb[j]=val;}return count;}****************************** ***********第76题void jsVal(){int I,thou,hun,ten,data,j;int ab,cd;for(I=0;I<200;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;ab=10*data+thou; cd10*hun+ten;if((ab%2!=1&&cd%2==1)||(ab%2==1&&cd%2!=1)&&(ab%17==0||cd%17==0)&&ab!=0&&cd!=0)){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]<b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第77题void jsVal(){int I,thou,hun,ten,data,j;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if((thou+ten==hun+data)&&a[I]%2!=1){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第78题void jsVal(){int I,thou,hun,ten,data,j;for(I=0;I<MAX;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if((thou>=hun)&&(hun>=ten)&&(ten>=data)&&a[I]%2!=0){b[cnt]=a[I];cnt++;}}for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if(b[I]>b[j]){data=b[I];b[I]=b[j];b[j]=data;}}*****************************************第79题void countValue(int *a,int *n){int I;*n=0;for(I=1;I<=1000;I++)if(I%7==0&&I%11){*a=I;*n=*n+1;a++;}else if(I%7&&I%11==0){*a=I;*n=*n+1;a++;}}*****************************************第80题void jsValue(){int I,thou,hun,ten,data,n=0;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (data-thou-hun-ten>0){cnt++;pjz1+=a[I];}else {n++;pjz2+=a[I];}}pjz1/=cnt;pjz2/=n;}*****************************************第81题void jsValue(){int I,thou,hun,ten,data,n=0;for(I=0;I<300;I++){thou=a[I]/1000;hun=a[I]%1000/100;ten=a[I]%100/10;data=a[I]%10;if (thou+hun==ten+data){cnt++;pjz1+=a[I];}else {n++;pjz2+=a[I];}}pjz1/=cnt;pjz2/=n;}*****************************************第82题void jsValue(){int I;for (I=0;I<300;I++)if (isP(a[I])) {pjz1+=a[I];cnt++;}else pjz2+=a[I];pjz1=pjz1/cnt;pjz2=pjz2/(300-cnt);精品文档。
三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
全国计算机等级考试三级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 考试试题及答案国家三级计算机C考试试题及答案本文提供国家三级计算机C考试的试题及答案,帮助考生进行备考和提升技能水平。
一、选择题1. 下列哪个选项可以用于从文件中读取数据?a) fscanf()b) printf()c) scanf()d) switch()答案:a) fscanf()2. 在C语言中,以下哪个选项不是数据类型修饰符?a) shortb) constc) unsignedd) double答案:b) const3. 在C语言中的程序结构中,下列哪一部分可选?a) for循环b) else语句c) main函数d) if语句答案:b) else语句4. 在C语言中,以下哪个选项用于定义整数常量?a) intb) floatc) chard) enum答案:d) enum5. 在C语言中,用于连接字符串的运算符是?a) +b) *c) /d) -答案:a) +二、填空题1. C语言中,用于定义宏的关键字是_________。
答案:#define2. 下列哪个函数用于从控制台输出字符?答案:putchar()3. 在C语言中,sizeof()函数用于计算数据类型的_________。
答案:字节大小4. 下列哪个选项用于声明一个指针变量?答案:*5. 下列哪个运算符用于判断两个变量是否相等?答案:==三、编程题1. 编写一个C程序,从键盘输入两个整数,然后输出它们的和。
```c#include<stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d", sum);return 0;}```2. 编写一个C程序,计算并输出1到10之间的所有偶数的乘积。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun 的功能是计算如下公式。
直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e-3,则函数返回值为0.551690。
【答案】【1】3.0 【2】> 【3】(t+1) 【改错】下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
【答案】【1】double fun(int n)【2】s=s+(double)a/b;【编程】请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
【答案】int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun 的功能是:计算如下公式前n项的和并作为函数值返回。
例如,当形参n 的值为10时,函数返回值为9.612558。
【答案】【1】 0【2】 n 【3】 (t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
【答案】【1】for(i=0;str[i];i++)【2】if(substr[k+1]== ′\0′) 【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
【答案】double s=1.0,s1=1.0;int n=1;while(s1>=eps){ s1=s1*n/(2*n+1);s=s+s1;n++;}Return 2*s◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】给定程序中函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
题目1 星辰恩请编写一个函数( []),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组传回。
最后调用函数()读取10组数据,分别得出结果且把结果输出到文件中。
部分源程序存在文件1中。
例如:若输入17 5 则应输出:19,23,29,31,37。
请勿改动主函数()和写函数()的内容。
( m){i;(2<)(m % 0) 0;1;}( []){ 0;(1>0)((m)) { []; ;}}。
题目2已知数据文件中存有200个四位数,并已调用读函数()把这些数存入数组a中,请考生编制一函数(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数,并把这些四位数按从大到小的顺序存入数组b中。
最后( )函数调用写函数()把结果以与数组b中符合条件的四位数输出到文件中。
(){ ;(0<){ [i]/1000; [i]/100%10;[i]%100/10; [i]%10;(20202020) b[][i];}(0<1)(1<)(b[i]<b[j]) { [i]; b[i][j]; b[j];}}***************************************************************************** *★题目3(字符型题)函数( )实现从文件中读取一篇英文文章存入到字符串数组中;请编制函数( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组中。
最后()函数调用函数()把结果输出到文件5中(){ ;[80];(0<)(([i])-1>=0){ 0;(,0,80);([i][j]'o'){;(1<([i]))[][i][s];(0<)([i][s]'o')[][i][s];([i]);};}}。
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语言中,注释部分由 _______ 组成。
A. //和/*/
B. //和////
C. //
D. //和// 和 ///*/
答案:C
在C语言中,字符型数据在内存中以 _______ 形式存储。
A. ASCII码
B. 16进制码
C. 补码
D. 原码
答案:A
下列叙述中,正确的是 _______ 。
A. C语言程序将从源文件的第一行开始执行
B. 凡是以main作为函数名的函数,其功能都必须是作为C程序的入口点
C. 编译预处理命令写在程序的开头,凡是在编译预处理命令后面的语句都必须在编译之前执行
D. 注释部分对程序的运行结果不产生影响,它只是起到帮助理解代码的作用
答案:D
二、填空题
在C语言中,整数类型包括 _______ 、 _______ 、 _______ 和 _______ 。
答案:short、int、long、long long
在C语言中,sizeof(float)的值是 _______ 。
答案:4
函数中局部变量的生命周期是 _______ 。
答案:从定义开始到函数结束
三、简答题
1. 写出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语言上机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 中。
最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。
注意:部分源程序存在文件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==4)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) ;}3. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a 中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数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<200-5;i++)if(a[i]>a[i+1]&&a[i]>a[i+2]&&a[i]>a[i +3]&&a[i]>a[i+4]&&a[i]>a[i+5]&&a[i]%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]){t=b[i];b[i]=b[j];b[j]=t;}}4. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a 中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是偶数(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b 中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。
注意:部分源程序存在文件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=5;i<200;i++)if(a[i]>a[i-1]&&a[i]>a[i-2]&&a[i]>a[i-3]&&a[ i]>a[i-4]&&a[i]>a[i-5]&&a[i]%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]){t=b[i];b[i]=b[j];b[j]=t;}}5. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a 中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b 中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。
注意:部分源程序存在文件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<200-5;i++)if(a[i]>a[i+1]&&a[i]>a[i+2]&&a[i]>a[i+3]&&a[i ]>a[i+4]&&a[i]>a[i+5]&&a[i]%2==1)b[cnt++]=a[i];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;}}6. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a 中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被7整除(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。