三级C语言_南开100题_上机考试题库

合集下载

全国计算机等级考试三级C语言上机100题题库 考试必备品

全国计算机等级考试三级C语言上机100题题库 考试必备品
好好学习天天向上
三级C语言上机100题
几点说明:
1、题目标题号前用“☆”显示的是2005年4月份本人根据各大论坛考生聩的题号集中而来,题号前加“★”为2005年9月上机考试题,其中难免有题型相同而题号增加的现象,此类标明,仅供参考。
2、每种题目,只用一种解题方法,兰色部分为解题答案,此种方法本人觉得容易理解,不易出错,适合初学者。
请勿改动主函数main()和写函数writeDat()的内容。
#include <conio.h>
#include <stdio.h>
void readwriteDat();
int isP(int m)
{
int i;
for(i=2;i<m;i++)
if(m % i==0)return 0;
}
void readwriteDat()
{
int m,n,xx[1000], i;
FILE *rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++){
fscanf(rf,"%d %d",&m,&n);
注意:部分源程序存在文件prog1.c中。
程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h>

全国计算机等级考试三级C语言上机题库(含答案,考试作弊必备)

全国计算机等级考试三级C语言上机题库(含答案,考试作弊必备)

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

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 中,请考生编制一函数jsV al(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

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中。

三级考试南开100题上机题库

三级考试南开100题上机题库

替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。
void encryptChar() /*标准答案*/
{int I;
除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT6.DAT中。
void StrOL(void) /*标准答案*/
{int I,j,k,strl,l;char c;
for(I=0;I<MAXLINE;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题目:
题目9:函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中; 请编制函数SortCharD( ), 其函数的功能是: 以行为单位对字符按从大到小的顺序进行排序, 排序后的结果仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT2.DAT中。
else if(strcmp(sell[I].dm,sell[j].dm)==0)
if(sell[I].je<SELL[J].JE)

三级网络上机南开100题标准答案61-80(绝对没错)

三级网络上机南开100题标准答案61-80(绝对没错)
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];
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:
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;
if (data==0 || hun==0)
if(isPrime(i) && isPrime(i+4) && isPrime(i+10))

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

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

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

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

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

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

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

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

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

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

三级c语言机试答案南开100题打印版(1)

三级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上机南开100题的分类

三级C上机南开100题的分类

第1类:100个产品销售记录排序[共10题:7,12,13,31,32,38,42,47,61,99]第2类:英文文章--字符串处理第1组:字符排序、移动[共10题:3,4,(9,88,)(字母变换10,73)(16,17,74,100)]第2组:字符串数组中的字符替代[共10题:8,18,36,37,56,62,95,96,97,98]第3类:300个四位数问题[此类共10题:27,48,53,54,55//49,80,81,(82素数),87]第1组:产生数组B,并对B按一定要求排序。

(27,48,53,54,55)第2组:求满足条件的数的个数、平均值……及不满足条件的数的平均值等。

(49,80,81,82,87)第4类:200个四位数按要求统计个数、排序[共20+2题]第1组各位数字从新组合、排序,有歧义[共8题:28,29,51,(被某数整除52,72,76),59,86]第2组各位数字加减、统计个数、排序[共4题:69,77,85,89]第3组比较各位数字大小后统计个数、排序[共2题:15,78]第4组依次取出4个数,奇偶数、排序[共4题:14,30,45,46]第5组排序[共2题:2,68]第6组200个正整数(1000~9999之间)排序[共2题:5,6]第5类:200个整数读至数组,奇偶性平均值、整除[共2题:91和94]第6类:小于200个四位正整数[共4题:(26,70),(40,65)]第7类:1000个十进制整数,奇偶性、平均值、方差等[共3题:33,83,93]第8类:素数相关、被某些数整除[共7题:1,34,64,66;;22,79,92]第9类:200组3位数[共2题:60,75]第10类:小于200个实数求平均值等[23]第11类:字符串操作[共7题:43,44,50,71;;11,63;;19]第12类:选票数据[共3题:39,58,84]第13类:求有特点的数[共3题:24;;25回文数;;67各位数字的操作]第14类:特殊求解[共3题:35级数;;21迭代求实根;;20 Fibonacci数列]第15类:几人围坐报数[57]第16类:正整数数列重排[90]第17类:计算满足条件的自然数个数[41]。

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

全国计算机等级考试三级C语言上机南开100题
for(s=righto+1;s<strlen(xx[i]);s++)
tem[k++]=xx[i][s];
for(s=0;s<righto;s++)
if(xx[i][s]!='o')
tem[k++]=xx[i][s];
strcpy(xx[i],tem);
}
else continue;
}
}
*******************************************************************************
函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT中。
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文件中。
{xy=sell[i]; sell [i]=sell[j]; sell[j]=xy;}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国计算机等级考试三级C语言程序设计南开100题上机考试题库【终极无错版】【注:三级除PC技术考汇编外,其它均考C语言,其上机题库是一样的】【这是最经典的04版,我仔细对比了所谓的06版题库及08版上机模拟软件中的题,其实都是04版的。

09年笔试大纲有变动,但是机试题库应该不会换,因为再编个南开100题(库)没有必要,也很累,还不能保证正确性(起码要经过多番验证才能投入使用)。

参加09年三级考试的朋友请放心使用。

就算变动也不过是把改一下个别数组名、把“升序排列”改为“降序排列”、把“从小到大”改为“从大到小”等,所以请大家消除疑虑,放心使用】资料收集整理:(以后该网站将发布(收集和原创)计算机二三级资源、电脑常见问题的解决视频教程、网络相关问题文章,如果你遇到了电脑、网络方面的问题可以到这来查找视频和图文教程或咨询,也欢迎高手来此帮助他人解决问题)下载地址:http://cid-/sel f.aspx/.Public(有自带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组数据,分别得出结果且把结果输出到文件out.dat中。

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

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

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

#include <conio.h>#include <stdio.h>void readwriteDat();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--;}}main(){int m,n,xx[1000];system("cls");printf("\nPlease enter two integers:"); scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,n,xx[1000], i;FILE *rf,*wf;rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d %d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)fprintf(wf,"%d",xx[m]);fprintf(wf,"\n");}fclose(rf);fclose(wf);}无忧id 14题(无isP()函数)#include <stdio.h>void jsValue(int m,int k,int xx[]){ int i,j,s=0;for(i=m+1;k>0;i++){ for(j=2;j<i;j++)if(i%j==0) break;if(i==j) { xx[s++]=i; k--;}}}main(){int m,n,zz[100];printf("\n请输入两个整数:");scanf("%d%d",&m,&n);jsValue(m,n,zz);for(m=0;m<n;m++)printf("%d ",zz[m]);printf("\n");writeDat();}writeDat(){int m,n,zz[100],i;FILE *in,*out;in=fopen("in.dat","r");out=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(in,"%d%d",&m,&n);jsValue(m,n,zz);for(m=0;m<n;m++)fprintf(out,"%d",zz[m]);fprintf(out,"\n");}fclose(in);fclose(out);}另一解法:void num(int m,int k,int xx[]){int n=0,data=m+1;while(n<k){if(isP(data)) xx[n++]=data;data++;}}********************************★题目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 <stdio.h>#define MAX 200int a[MAX], b[MAX], cnt = 0 ;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;}}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(无忧id 133题;捷成id59、99字符串位置倒置题)函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。

最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。

例如:原文:n any field.Yu cancreate an indexyou have the correctrecord.结果:n any field. Yu cancreate an indexrd. yu have the crrectrec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

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

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

#include <stdio.h>#include <string.h>#include <conio.h>char xx[50][80] ;int maxline = 0 ; /* 文章的总行数*/int ReadDat(void) ;void WriteDat(void) ;void StrOR(void){int i,righto,j,s,k;char tem[80];for(i=0;i<maxline;i++) /*倒序循环*/for(j=strlen(xx[i])-1;j>=0;j--){ k=0;memset(tem,0,80); /*初始化字符串数组tem*/if(xx[i][j]=='o') /*如果当前字符为'o',进入以下语句*/{righto=j; /*则将此字符中位置j的值赋给righto*/for(s=righto+1;s<strlen(xx[i]);s++)tem[k++]=xx[i][s]; /*从righto的下一跳开始将其后所有的字符都存入到tem中*/for(s=0;s<righto;s++) /*从当前行首部开始到出现字符'o'的位置(righoto)之前开始循环*/if(xx[i][s]!='o')tem[k++]=xx[i][s]; /*将不是字符'o'的字符全存入到tem中*/strcpy(xx[i],tem); /*将当前已处理的字符重新存入当前行xx*/}else continue;}}void main(){clrscr() ;if(ReadDat()) {printf("数据文件IN.DAT不能打开!\n\007") ;return ;}StrOR() ;WriteDat() ;}int ReadDat(void){FILE *fp ;int i = 0 ;char *p ;if((fp = fopen("IN.DAT", "r")) == NULL)return 1 ;while(fgets(xx[i], 80, fp) != NULL) {p = strchr(xx[i], '\n') ;if(p) *p = 0 ;i++ ;}maxline = i ;fclose(fp) ;return 0 ;}void WriteDat(void){FILE *fp ;int i ;clrscr() ;fp = fopen("OUT5.DAT", "w") ;for(i = 0 ; i < maxline ; i++) {printf("%s\n", xx[i]) ;fprintf(fp, "%s\n", xx[i]) ;}fclose(fp) ;}解法二:void StrOR(void){ int i;char a[80],*p;for(i=0;i<maxline;i++){ p=strchr(xx[i],'o');while(p){ memset(a,0,80);memcpy(a,xx[i],p-xx[i]);strcpy(xx[i],p+1);strcat(xx[i],a);p=strchr(xx[i],'o');}}}解法三:void StrOR(void){ int i,j; char yy[80],*p;for(i=0; i<maxline;i++)for(j=0; j<strlen(xx[i]); j++)if(xx[i][j]=='o'){ p=&xx[i][j+1];strcpy(yy,p); /*将指针p所指向的字符串拷贝到字符串yy中去*/strncat(yy,xx[i],j); /*将字符串xx[i]中前j个字符连接到yy中*/strcpy(xx[i],yy); /*将字符串yy 重新拷贝到字符串xx[i]中去*/j=0; /* 开始下一次的扫描。

相关文档
最新文档