請問下這道題怎么做?
假定輸入的字串中只包含字母和*號。請撰寫函式fun,它的功能是:除了字串前導和尾部的*號之外,將串中其它*號全部洗掉。形參h已指向字串中第一個字母,形參p已指向字串中最后一個字母。在撰寫函式時,不得使用C語言提供的字串函式。
例如,字串中的內容為:****A*BC*DEF*G********,洗掉后,字串中的內容應當是:****ABCDEFG********。在撰寫函式時,不得使用C語言提供的字串函式。(25分)
題目內容:
#include <stdio.h>
#include <conio.h>
void fun(char a[])
{
//補充完整
}
main()
{ char s[81],*t,*f;
gets(s);
fun(s);
puts(s);
}
輸入格式:
****A*BC*DEF*G********
輸出格式:
****ABCDEFG********
uj5u.com熱心網友回復:
可以簡單一點,回圈查找洗掉(移動)uj5u.com熱心網友回復:
可以用for回圈套if連續判斷,當前一個字符不為*且后一個字符不為*并且此字符為*時洗掉此字符if(s[i]=='*'&&s[i-1]!='*'&&s[i+1]!='*')
uj5u.com熱心網友回復:
先兩個指標while到第一個字母和最后一個字母然后在兩個指標中間判斷,有*就跳過,賦值給一個字串變數,然后把對應的*加進去
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61593.html
標籤:新手樂園
上一篇:有個不兼容的32位的EXE檔案,無法在WIN7 X64系統中運行,跪求解決辦法
下一篇:想問下怎么加一個比較長度 ...
