c語言判斷迴文
Ⅰ c語言編寫一個程序,判斷輸入的一個字元串是否是迴文。
源代碼如下:
#include <stdio.h>
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)c語言判斷迴文擴展閱讀
1、函數的返回值是通過函數中的return語句獲取的。
2、函數值的類型。
3、如果函數值的類型和return語句中表達式的值不一樣,則以函數類型為准。
4、如果調用函數中沒有return語句,並不帶回一個確定的用戶需要的值,函數不是不帶回值,而只是不帶回有用的值,帶回一個不確定的值。
Ⅱ c語言判斷是否為迴文
首先清楚什麼是迴文。。。我們稱正讀和反讀都相同的字元序列為「迴文」,如「abba」、「abccba」、12321、123321是「迴文」。
然後再看程序,把長度為n的字元串的每一個字元排下標,即從0到n-1,要判斷是否迴文,就是把一串字母進行前後比對,即下標0的字元和下標為n-1的字元,1與n-2,2與n-3。。。
for
(i
=
0;
i
<
len
/
2;
i++)
{
if
(str[i]
!=
str[len-1-i])
{
break;
{{{{這里是什麼意思啊}}}}}}
//
這里是判斷不符號迴文的情況,只要兩個字元不符合,那這整個字元串就不是,所以break跳出循環判斷
}
}
if
(i
==
len
/
2)
{{{{我不懂這里是什麼意思}}}}}}
//
長度為n的字元串最多隻能比對len
/
2次,那麼如果每對都符合,那就是迴文啦
{
printf(「%s
shi
hui
wen.\n「,
str);
}
Ⅲ 用c語言如何實現判斷迴文
下面介紹了幾種判斷迴文的方法:
你提問的第一個地方,比如你輸入了個5個字元的字元串 ,abcba 先判斷第一個和最後一個是否相同 ,再判斷第二個和倒數第二個 。
如果相等程序正常執行 ,如果不相等 ,break就跳出循環 ,你提問的第二個地方就是i 如果等於 len/2說明 上邊循環式正常退出 。
那就是說前後一一對比都相同 ,是迴文數 ,不等於len/2說明是由break退出導致,既前邊和後邊某一位不相同
若輸入 abbci=0str[0]='a' str[4-1-0]='c' 執行break;跳出for循環循環結束 i=0 所以判斷不是迴文若輸入ab=0str[0]='a' str[4-1-0]='a' i=1str[1]='b' str[4-1-1]='b'i=2for循環條件不滿足i
Ⅳ C語言編寫程序判斷迴文數
要判斷一個數n是否迴文數,可以利用一個簡單的循環就可以解決問題的。先保存好n的一個副本n1,初始化一個變數n2=0,然後每次取n1的末位數後添加到n2的末位,並把原n1的末位去掉。如此循環,當n1為0時循環結束,此時再判斷,若n2==n,則n就是一個「迴文數」了。
#include<stdio.h>
int main()
{ int n,n1,n2;
scanf("%d",&n);
n1=n;
for(n2=0;n1;n1/=10)
n2=n2*10+n1%10;
printf("%s\n",n2==n?"Yes":"No");
return 0;
}
Ⅳ C語言 判斷迴文
【錯誤分析】
1、把函數huiwen()中的變數「s」都改成「ps」,寫代碼要細心哦~
2、判斷是否迴文的時候,只要有一個對應不等,就無需判斷啦~(顯然此時不是迴文)
【注】只在你的代碼上小小修改了一下,就可以啦~
望採納哦~
有問題再問哦~
o(∩_∩)o
#include
<stdio.h>
#include
<string.h>
int
huiwen(char
*ps);
int
main()
{
char
s[100];
int
flag;
gets(s);
flag=huiwen(s);
if(flag)
printf("YES!\n");
else
printf("NO!\n");
return
0;
}
int
huiwen(char
*ps)
{
int
i,j,z=1;
j=strlen(ps)-1;
for(i=0;i<j;i++){
if(ps[i]!=ps[j]){
z=0;return
z;
}
j--;
}
return
z;
}
Ⅵ C語言中迴文數的判定
#include
void
main()
{
int
a,b,c,d,e,s;
scanf("%d",&s);
a=(s/10000);
b=(s/1000)%10;
c=(s/100)%10;
d=(s/10)%10;
e=(s%10);
if((a==e)&&(b==d))
printf("該數是迴文數\n");
else
printf("該數不是迴文數\n");
}
判斷是否為迴文數,請採納!
Ⅶ c語言迴文串判斷
我看了下邏輯不對,還有些語法錯誤,我修改了下可以運行,有問題追問我。
#include<stdio.h>
#include<string.h>
int
main()
{
int
n=0,j,t=0,s;
char
a[100];
while(scanf("%d",&s)!=EOF)
{
scanf("%s",a)
n=strlen(a);
for(t=0,j=0;j<n/2;j++)
{
if(a[j]==a[n-1-j])
{
t++;
}
else
{
break;
}
}
if(t==(n/2
-
1)||t==n/2)
{
printf("Yes\n");
}
else
{
printf("no\n");
}
}
return
0;
}
Ⅷ C語言判斷是否為迴文
這種演算法的思想是,不斷比較首尾的字元,如果首尾字元相同,則各向中間移一個字元,再比較,直至最中間的字元為止;否則結束比較
如果是迴文的話,那麼可定會比較值最中間的位置,否則肯定不是迴文
Ⅸ 用c語言實現判斷迴文
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[100];
int i=0,j=0;
printf("請輸入字元串: ");
gets(a);
while(a<i>!='