计算机等级网权威发布2017年3月计算机三级网络技术考前练习题(3),更多2017年3月计算机三级网络技术考前练习题(3)相关信息请访问计算机等级考试网。
1.函数ReadDat( )的功能是实现从文件IN7.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD( ),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat( )把结果xx输出到文件OUT7.DAT中。 例如,原文:dAe,BfC CCbbAA 结果:fedCBA, bbCCAA 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序已给出。 请勿改动主函数main( )、读函数ReadDat( )和写函数WriteDat( )的内容。 #include #include #include char xx[50][80]; int maxline=0; int ReadDat(void); void WriteDat(void); void SortCharD() { int i,j,k; /*定义循环控制变量*/ int str; /*存储字符串的长度*/ char temp; /*定义数据交换时的暂存变量*/ for (i=0;i { str=strlen(xx[i]); /*求得当前行的字符串长度*/ for(j=0;j for(k=j+1;k if(xx[i][j] { temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } } } void main() { system("CLS"); if (ReadDat()) { printf("数据文件IN7.DAT不能打开!\n\007"); return; } SortCharD(); WriteDat(); } int ReadDat(void) { FILE *fp; int i=0; char *p; if((fp=fopen("IN7.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() { FILE *fp; int i; system("CLS"); fp=fopen("OUT7.DAT","w"); for(i=0;i { printf("%s\n",xx[i]); fprintf(fp,"%s\n",xx[i]); } fclose(fp); } 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 #include #include char xx[100][11]; int yy[10]; int ReadDat(void); void WriteDat(void); void CountRs(void) { int i,j; /*定义循环控制变量*/ int cnt; /*用来存储每张选票中选中人数,以判断选票是否有效*/ for(i=0;i<10;i++) /*初始化数组yy*/ yy[i]=0; for(i=0;i<100;i++) /*依次取每张选票进行统计*/ { cnt=0; /*初始化计数器变量*/ for(j=0;j<10;j++) /*统计每张选票的选中人数cnt*/ if(xx[i][j]=="1") cnt++; if(cnt>5) /*当cnt值大于5时为有效选票*/ { for(j=0;j<10;j++) /*统计有效选票*/ if(xx[i][j]=="1") yy[j]++; } } } void main() { int i; for (i=0; i<10; i++) yy[i] = 0; if(ReadDat()) { printf("选票数据文件IN8.DAT不能打开!\007\n"); return; } CountRs(); WriteDat(); } int ReadDat(void) { FILE *fp; int i; char tt[13]; if((fp = fopen("IN8.DAT", "r")) == NULL) return 1; for (i = 0; i < 100; i++) { if(fgets(tt, 13, fp) == NULL) return 1; memcpy(xx[i], tt, 10); } fclose(fp); return 0; } void WriteDat(void) { FILE *fp; int i; fp = fopen("OUT8.DAT", "w"); for(i = 0; i < 10; i++) { fprintf(fp, "%d\n", yy[i]); printf("第%d个人的选票数=%d\n", i+1, yy[i]); } fclose(fp); } 相关热词搜索: |