三、程序題:函數(shù)fun的功能是:將s所指字符串中ASCII值為偶數(shù)的字符刪除,串中剩余字 符形成一個新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為:"ABCDEFG12345",其中字符B的ASCII碼值為偶數(shù)、…、字符2的ASCII碼值為偶數(shù)、… 都應(yīng)當刪除,其它依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:"ACEG135"。
注意: 部分源程序存在文件PROG1.C中。
請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入
你編寫的若干語句。
給定源程序:
#include
#include
void fun(char *s, char t[])
{
}
main()
{
char s[100], t[100];
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}
NONO ()
{/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
char s[100], t[100] ;
FILE *rf, *wf ;
int i ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%s", s);
fun(s, t);
fprintf(wf, "%s\n", t);
}
fclose(rf);
fclose(wf);
參考答案:
void fun(char *s, char t[])
{
int i, j = 0 ;
for(i = 0 ; i < strlen(s); i++) if(s[i] % 2) t[j++] = s[i] ;
t[j] = 0 ;
}