1、 if(isP(m) xxs+=m; k-;解法2void jsValue(int m,int k,int xx) int i,j,s=0; for(i=m+1; for(j=2;ji;j+) if(i%j=0) break; if(i=j) xxs+=i; 解法3int n=0,data=m+1;while(nk) if(isP(data) xxn+=data; data+;题目2(无忧 id 143) 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal( ),其功能是:如果四位数各位上的数字均是0或2或4或6或8,
2、则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序存在文件prog1.c中。 程序中已定义数组:a200,b200,已定义变量:cnt void jsVal() int i,j,qw,bw,sw,gw; for(i=0;MAX; qw=ai/1000; bw=ai/100%10; sw=ai%100/10; gw=ai%10; if(qw&qw%2=0&bw%2=0&sw%2=0&gw%2=0) bcnt+=ai;cnt-1; fo
3、r(j=i+1;cnt; if(bi=0;j-) k=0;memset(tem,0,80); /*初始化字符串数组tem*/ if(xxij=o) /*如果当前字符为,进入以下语句*/ righto=j; /*则将此字符中位置j的值赋给righto*/ for(s=righto+1;sstrlen(xxi);s+) temk+=xxis; /*从righto的下一跳开始将其后所有的字符都存入到tem中*/ for(s=0;righto;s+) /*从当前行首部开始到出现字符的位置(righoto)之前开始循环*/ if(xxis!=) temk+=xxis; /*将不是字符的字符全存入到tem
4、中*/ strcpy(xxi,tem); /*将当前已处理的字符重新存入当前行xx*/ else continue;解法二:void StrOR(void) char a80,*p; p=strchr(xxi,); while(p) memset(a,0,80); memcpy(a,xxi,p-xxi); strcpy(xxi,p+1); strcat(xxi,a); p=strchr(xxi, 解法三: int i, j; char yy80, *p; i i+) for(j=0; j j+) memset( yy, 0, 80 );p=&xxij+1; strcpy( yy, p ); /
5、*将指针p所指向的字符串拷贝到字符串yy中去*/ strncat( yy, xxi, j ); /*将字符串xxi中前j个字符连接到yy中*/ strcpy( xxi, yy ); /*将字符串yy重新拷贝到字符串xxi中去*/ j=0; /* 开始下一次的扫描*/相关库函数解释:char *strncat(char *dest, const char *src, size_t maxlen)功能:将字符串src中前maxlen个字符连接到dest中相关头文件:string.hchar *strcpy(char *dest, const char *src)将字符串src拷贝到字符串dest中
6、去string.h题目4(无忧id 24题 捷成id 9题)函数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 ; char word21, yy80, zz80, *p ; for(i = 0 ; i aaj%1000|aai%1000=aaj%1000&aaiaaj) data=aai;aai=aaj;aaj=data;10; bbi=aai;题目6:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。例:处理前 9012 5099 6012 7025 8088 处理后 5099 8088 7025 6012 9012 fo
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1