C語言編寫程式,判斷輸入的字串是否是回文

時間 2021-09-05 17:56:44

1樓:小夏在深圳

源**如下:

#include

int main()

int n, reversedinteger = 0, remainder, originalinteger;

printf("輸入乙個整數: ");

scanf("%d", &n);

originalinteger = n;

// 翻轉

while( n!=0 )

remainder = n%10;

reversedinteger = reversedinteger*10 + remainder;

n /= 10;

// 判斷

if (originalinteger == reversedinteger)

printf("%d 是回文數。", originalinteger);

else

printf("%d 不是回文數。", originalinteger);

return 0;

擴充套件資料

1、函式的返回值是通過函式中的return語句獲取的。

2、函式值的型別。

3、如果函式值的型別和return語句中表示式的值不一樣,則以函式型別為準。

4、如果呼叫函式中沒有return語句,並不帶回乙個確定的使用者需要的值,函式不是不帶回值,而只是不帶回有用的值,帶回乙個不確定的值。

2樓:承苗壤駟春柏

不用那麼麻煩,看看這種思路

乙個字串如果是回文,就是兩端相對於中心位置對稱如123321

123-對稱點-321

12321

12---3(對稱點)--21

只需要拿左邊這半邊的字元,與右邊的比較,如果一樣,就是回文#include

#include

"string.h"

void

main()

;gets(st1);

x=strlen(st1);

for(i=0;

i<=x/2;

i++)///比到一半就不比了,原理已講

}if(i>

x/2)///沒執行break,就是回文

printf("yes");

else

printf("no");}

3樓:匿名使用者

主函式應該返回0表示程式成功執行;

在程式最後加句:

return 0;

4樓:

char st2[x];

陣列的長度不能用變數,只能像st1那樣指定長度

5樓:手機使用者

定義陣列時[ ]內必須是常量表示式。char st2[x]錯了。

6樓:匿名使用者

*p=st1[i] 改為p=&st1[i] 試下

7樓:劉一勝

你可以去我家水井網問問啊?那是這方面的專業

C語言,利用指標編寫程式 刪除字串中的某字元

墨汁諾 p,q是指標,p,q表示p,q指向的地址儲存的字元。是自增運算子,q p表示將當前p指向的地址儲存的值賦值給q指向的地址,賦值完成後q 即q指向下一位地址。如果還沒有理解的話可以用例項來分析一下,對於字串s abcabc 刪除字元 a 簡單設s起始位置為0,則s 0 a s 1 b s 2 ...

編寫程式,使輸入的字串倒序輸出

按你的思路for迴圈只是把第乙個字元放到最後了。應將前i 1個也進行這個操作,然後前i 2個 不理解可詳細諮詢我。用j a編寫一段程式,輸入一段字串,然後輸出該字串的倒序狀態。import 倒入的util中的包用scanner類 public class testohcefor int i 0 i ...

C語言請編寫程式實現以下功能 在字串中所有數字字元前加一

問明 include int fun char s char t 80 int i,j for i 0 s i i 將串s拷貝至串t t i s i t i 0 for i 0,j 0 t i i 對於數字字元先寫一個 符號,再寫該數字字元 if t i 0 t i 9 s j s j t i 對於...