★題目49(字符處理——倒序輸出)
函數(shù)ReadDat()實現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中,請編制函數(shù)StrOL(),其函數(shù)的功能是:以行為單位對行中以空格或標(biāo)點符號為分隔的所有單詞進行倒排。最后把已處理的字符串(應(yīng)不含標(biāo)點符號)仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)writeDat()把結(jié)果xx輸出到文件OUT6.DAT中。
例如:原文:You He Me
I am a student.
結(jié)果:Me He You
student a am I
void StrOL(void)
{ int i,j,k,s,m,strl;
char str[80];
for(i=0;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); } } ★題目50(字符排序題) 函數(shù)ReadDat()實現(xiàn)從文件in.dat中讀取20行數(shù)據(jù)存放到字符串?dāng)?shù)組xx中(每行字符串長度均小于80)。請編制函數(shù)jsSort(),其函數(shù)的功能是:以行為單位對字符串變量的下標(biāo)為奇數(shù)的字符按其ASCII值從小到大的順序進行排序,排序后的結(jié)果仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)WriteDat()把結(jié)果xx輸出到文件out.dat中。 例如:位置 0 1 2 3 4 5 6 7 源字符串 a b c d e f g h 則處理后字符串 a h c f e d g b void jsSort() {int i,j,k,strl; char ch; for(i=0;i<20;i++) { strl=strlen(xx[i]); for(j=1;j for(k=j+2;k if(xx[i][j]>xx[i][k]) { ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;} } } ************************************************************************ ★☆題目51(替換字符題) 函數(shù)ReadDat()實現(xiàn)從文件IN.DAT中讀取一篇英文文章存入到字符串?dāng)?shù)組xx中,請編制函數(shù)ConvertCharA(),其函數(shù)的功能是:以行為單位把字符串中的所有小寫字母改寫成該字母的下一個字母,如果是字母z,則改寫成字母a。大寫字母仍為大寫字母,小寫字母仍為小寫字母,其他字符不變。把已處理的字符串仍按行重新存入字符串?dāng)?shù)組xx中,最后調(diào)用函數(shù)writeDat()把結(jié)果xx輸出到文件OUT1.DAT中。 例:原文:Adb.Bcdza abck.LLhj 結(jié)果:Aec.Bdeab bcdl.LLik void ConvertCharA(void) { int i,j; for(i=0;i { for(j=0;j if(xx[i][j]=='z') xx[i][j]='a'; else if(xx[i][j]>='a'&&xx[i][j]<='y') xx[i][j]+=1; } }
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |