編程題
函數(shù)fun的功能是: 將s所指字符串中除了下標(biāo)為偶數(shù)、同時(shí)ASCII值也為偶數(shù)的字符外,其余的全都刪除;串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。 例如,若s所指字符串中的內(nèi)容為:"ABCDEFG123456",其中字符A的ASCII碼
值為奇數(shù),因此應(yīng)當(dāng)刪除;其中字符B的ASCII碼值為偶數(shù),但在數(shù)組中的下標(biāo)為
奇數(shù),因此也應(yīng)當(dāng)刪除;而字符2的ASCII碼值為偶數(shù),所在數(shù)組中的下標(biāo)也為偶數(shù),因此不應(yīng)當(dāng)刪除,其它依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:"246"。
注意: 部分源程序存在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入
你編寫的若干語(yǔ)句。
給定源程序:
#include
#include
void fun(char *s, char t[])
{
}
main() www.Examda.CoM
{
char s[100], t[100];
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}
解題思路:
本題是從一個(gè)字符串按要求生成另一個(gè)新的字符串。我們使用for循環(huán)語(yǔ)句來(lái)解決這個(gè)問(wèn)題。
參考答案:
void fun(char *s, char t[])
{
int i, j = 0 ;
for(i = 0 ; i < strlen(s) ; i += 2)
if(s[i] % 2 == 0) t[j++] = s[i] ;
t[j] = 0 ;
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |