全国计算机等级考试三级C语言上机100题答案
全国计算机等级考试三级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题上机考试题库【终极无错版】【注:三级除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()的内容。
计算机等级考试三级数据库上机100题

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的千位数字和十位数字相等。
计算机等级考试-三级C语言上机试题

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题

国家三级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之间。
三级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题打印版(1)

****************************** ********三级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)

答案见后面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的四位数按从小到大的顺序进行排列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国计算机等级考试三级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文件中。