編程題
請(qǐng)編寫一個(gè)函數(shù)void fun (char a[],char b[],int n),其功能是:刪除一個(gè)字符串中指定下標(biāo)的字符。其中, a指向原字符串, 刪除指定字符后的字符串存放在b所指的數(shù)組中,n中存放指定的下標(biāo)。
例如,輸入一個(gè)字符串: World,然后輸入3,則調(diào)用該函數(shù)后的結(jié)果為: Word。
注意: 部分源程序在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語(yǔ)句。
給定源程序:
#include
#include
#define LEN 20
void fun (char a[], char b[], int n)
{
}
main( )
{ char str1[LEN], str2[LEN] ;
int n ;
printf("Enter the string:\n") ;
gets(str1) ;
printf("Enter the position of the string deleted:") ;
scanf("%d", &n) ;
fun(str1, str2, n) ;
printf("The new string is: %s\n", str2) ;
NONO() ;
}
解題思路:
本題是利用字符串拷貝和字符串連接來(lái)生成新的字符串。
參考答案:
void fun (char a[], char b[], int n)
{
strncpy(b, a, n) ;
b[n] = 0 ;
strcat(b, a + n + 1) ;
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |