當前位置:首頁 » 編程語言 » c語言迴文序列判斷
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言迴文序列判斷

發布時間: 2022-07-22 03:55:11

『壹』 c語言,判斷是否為迴文的這個函數我看不懂,求詳細解釋一下

chars[M];
intflag=1; //迴文標記,1代表是迴文,0代表不是迴文
inti=0; //i代表字元串頭部字元序號
intj=strlen(s)-1; //j代表字元串尾部字元序號
//strlen(s)代表字元串的長度
//因為序號是從0開始的,所以尾部的序號為strlen(s)-1
while(i<j) //條件的意義是,尾部字元的序號不超過頭部字元的序號
{
if(s[i]!=s[j]) //如果頭部對應的字元,不等於尾部對應的字元
//因為迴文序列是中心對稱,所以頭部字元和尾部字元對應判斷
//是否相同,相同就向字元串的中心漸進判斷
//如果出現不相同的就不是迴文序列
{
flag=0; //標記
break; //跳出循環
}
i++; //頭部字元的序號向中間靠攏
j--; //尾部字元的序號向中間靠攏
}

『貳』 用c語言實現判斷迴文

#include&lt;stdio.h&gt;

#include&lt;stdlib.h&gt;

int main()

{

char a[100];

int i=0,j=0;

printf("請輸入字元串: ");

gets(a);

while(a<i>!='')

i++;

i--;

for(;j&lt;=i;i--,j++)

{

if(a<i>!=a[j])

{

break;

}

}

if(j&lt;=i)

{

printf("不是迴文串 ",a);

}

else

{

printf("是迴文串 ",a);

}

system("pause");

return 0;

}

(2)c語言迴文序列判斷擴展閱讀:

用法:

1、printf()函數是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。

格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。

要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。

簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。

2、printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。



『叄』 用C語言如何編寫判斷一個字元序列是否是迴文的函數

//首先我認為迴文不一定是奇數個;也有可能是偶數個;只要這個字元串
//正讀跟反讀都一樣 那它就是迴文 所以不應該把字元串的個數當成是判斷迴文串的
//一個條件。
#include <stdio.h>
#include <string.h>
#include <conio.h>

bool huiWen(const char *p);
int main()
{
char test[225];
gets(test);
if(huiWen(test))
{
printf("是迴文!\n");
}
else
{
printf("不是迴文!\n");
}
getch();
return 0;
}
bool huiWen(const char *p)
{
int i=0,n=strlen(p);
while(p[i]==p[n-i-1] && i<n-i-1) //只要相等且還未相遇則繼續循環
{
i++;
}
return ((i<n-i-1)? false:true); //若i<n-i-1表示中途遇到不相等的字元而退出循環
}

『肆』 c語言迴文判斷

inthw(chara[])//數組法
{inti,j,flag;
for(j=0;a[j]!='';j++);//找到串尾符(a[j]=='')
flag=1;//flag初始化為1
for(i=0;i<j;i++,j--)//a[i]與a[j-1]未碰頭時循環
if(a[i]!=a[j-1]){flag=0;break;}//如遇到字元不等,就不是「迴文」,flag做標記
returnflag;//返回標記的結果
}

『伍』 c語言 判斷一串數是否是迴文序列

if 判斷的時候,i的值經過上面的for循環已經等於6了
a[6]=? a[5-6]=?
如果這兩個值不等,自然輸出NO。

在if前再補一個for
#include "stdio.h"
void main()
{int a[6];
int i;
printf("Please input the string:\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
for(i=0;i<6;i++)//補充到這里

if(a[i]!=a[5-i])
{printf("NO! The string isn't a palindrome string!\n");
return;
}
printf("Yes! The string is a palindrome string!\n");
}

『陸』 c語言中的迴文序列的判斷

我的計算機上沒有安裝C,不過,可以給你幾條建議,自己試著修改一下:
while
(n>0)
{
g[a++]=n%10;
n=n/10;
}
你最好寫成
while
(n>0)
{
g[a]=n%10;
n=n/10;
a++;
}
還有if(c==a)這一句,c是不會和a相等的,應該是c==a/2,

『柒』 【二級C語言】判斷是否為一個迴文序列

修改如下:
int fun(char *str)
{
char temp,str1[N];
int i,len;
len=strlen(str);
for(i=0; i<len; i++)str1[i]=str[len-i-1];
str1[i]='\0';
for(i=0; i<len; i++)
{
if(str[i]>='a' && str[i]<='z')str[i]=str[i]-32;
}

for(i=0; i<len; i++)
{
if(str1[i]>='a' && str1[i]<='z')str1[i]=str1[i]-32;
}

if(strcmp(str1,str)==0)return 1;
return 0;

}

『捌』 c語言判斷字元串是否為迴文

#include <stdio.h>

/*fun()函數:傳入一個字元數組,如果是迴文序列返回1,不是就返回0*/
int fun(char a[])
{
int i,j,n=0;
while(a[n]!='\0') n++; /*計算傳入字元串(數組)長度*/
n--; /*跳出while循環時 a[n]='\0',故n--*/
for(i=0,j=n;i<j;i++,j--)
if(a[i]!=a[j]) break;
if(i>=j) return 1;
return 0;
}

int main()
{
char str[20];
puts("輸入一個字元串:\n");
gets(str);
if(fun(str)) printf("%s 是迴文序列\n",str);
else printf("%s 不是迴文序列\n",str);
return 0;
}

『玖』 用c語言如何實現判斷迴文

下面介紹了幾種判斷迴文的方法:

  1. 你提問的第一個地方,比如你輸入了個5個字元的字元串 ,abcba 先判斷第一個和最後一個是否相同 ,再判斷第二個和倒數第二個 。

  2. 如果相等程序正常執行 ,如果不相等 ,break就跳出循環 ,你提問的第二個地方就是i 如果等於 len/2說明 上邊循環式正常退出 。

    那就是說前後一一對比都相同 ,是迴文數 ,不等於len/2說明是由break退出導致,既前邊和後邊某一位不相同

  3. 若輸入 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語言編程:判定一個字元是否是迴文串(迴文串是指從開頭讀和從末尾讀均為相同字元的字元串,例如:abcba

1、首先,在C語言軟體中,定義多個整型變數,保存程序中所需操作的數值。