試題三:函數(shù)READDAT()實現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串數(shù)組XX中;請編制函數(shù)SORTCHARA(),其函數(shù)功能是:以行為單位對字符按從小到大的順序進行排序,排序后的結果仍按行重新存入字符串數(shù)組XX中,最后調用函數(shù)WRITEDAT()把結果XX輸出到文件OUT1.DAT .
例:原文:dAe,BfC.
CCbbAA
結果:,.ABCdef
AACCbb
原始數(shù)據(jù)文件存放的格式是: 每行的寬度均小于80個字符, 含標點符號和空格。
注意: 部分源程序存放在PROG1.C中。
請勿改動主函數(shù)main( )、讀數(shù)據(jù)函數(shù)ReadDat()和輸出數(shù)據(jù)函數(shù)WriteDat()的內容。
-----------------
PROG1.C
#include
#include
#include
char xx[50][80] ;
int maxline = 0 ; /* 文章的總行數(shù) */
int ReadDat(void) ;
void WriteDat(void) ;
void ConvertCharA(void)
{
}
void main()
{ clrscr() ;
if(ReadDat()) {
printf("數(shù)據(jù)文件IN.DAT不能打開!\n\007") ;
return ;
}
ConvertCharA();
WriteDat() ;
system("pause");
}
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("OUT1.DAT", "w") ;
for(i = 0 ; i < maxline ; i++) {
printf("%s\n", xx[i]) ;
fprintf(fp, "%s\n", xx[i]) ;
}
fclose(fp) ;
}
/*標準答案*/
void ConvertCharA(void)
{int I,j,k,strl;
char ch;
for(I=0;I {strl=strlen(xx[I]); for(j=0;j for(k=j+1;k if(xx[I][j]>xx[I][k]) {ch=xx[I][j]; xx[I][j]=xx[I][k]; xx[I][k]=ch;} } }
2010年計算機等考三級網(wǎng)絡技術歷年考點知識
計算機等級考試三級網(wǎng)絡技術六套全真模擬題
2010年計算機等考三級網(wǎng)絡技術知識點筆記匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |