文档详情

《二级C语言上机编程题库》.doc

发布:2015-10-31约字共36页下载文档
文本预览下载声明
题目1 请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。 int isP(int m) {int i; for(i=2;im;i++) if(m % i==0)return 0; return 1; } void num(int m,int k,int xx[]) { int s=0; for(m=m+1;k0;m++) if(isP(m)) { xx[s++]=m; k--;}} ☆ 题目2 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。 void jsVal() { int i,j,qw,bw,sw,gw; for(i=0;iMAX;i++) {qw=a[i]/1000; bw=a[i]/100%10; sw=a[i]%100/10; gw=a[i]%10; if(qwqw%2==0bw%2==0sw%2==0gw%2==0) b[cnt++]=a[i];} for(i=0;icnt-1;i++) for(j=i+1;jcnt;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中。 void StrOR(void) {int i,righto,j,s,k; char tem[80]; for(i=0;imaxline;i++) for(j=strlen(xx[i])-1;j=0;j--) { k=0; memset(tem,0,80); if(xx[i][j]==o) {righto=j; for(s=righto+1;sstrlen(xx[i]);s++) tem[k++]=xx[i][s]; for(s=0;srighto;s++) if(xx[i][s]!=o) tem[k++]=xx[i][s]; strcpy(xx[i],tem);} else continue;} } ★题目4 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。 例如:原文:You He Me I am a student.   结果:Me He You student a am I void StrOL(void) { int i,j,k,s,m,strl; char str[80]; for(i=0;imaxline;i++) { strl=strlen(xx[i]); memset(str,0,80); s=k=0; for(j=strl-1;j=0;j--) {if(isalpha(xx[i][j])) k++; else { for(m=1;m=k;m++) str[s++]=xx[i][j+m]; k=0; } if(!isalpha(xx[i][j])) str[s++]= ; } for(m=1;m=k;m++) str[s++]=xx[i][j+m]; str[s]=\0; strcpy(xx[i],str); }} ☆题目5(整数排序题) 在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat(
显示全部
相似文档