⑴ c語言 編寫一個函數,來判斷一個數是否是迴文數。(迴文數就是像12321,正著讀和倒著讀都一樣)
代碼:
int IsEchoNum(int num){
int tmp=0;
for(int n=num;n;n/=10)
tmp=tmp*10+n%10;
return tmp==num;
}
int main(int argc,char*argv[]){
int num=12321;
printf("%d%d ",num,IsEchoNum(num));
}
(1)c語言判斷迴文的函數擴展閱讀:
system()—執行shell命令也就是向dos發送一條指令。
相關函數:fork,execve,waitpid,popen頭文件:#include<stdlib.h>定義函數:int system(const char*string);
system("pause")可以實現凍結屏幕,便於觀察程序的執行結果;system("CLS")可以實現清屏操作。而調用color函數可以改變控制台的前景色和背景,具體參數在下面說明。
例如,用system("color 0A");其中color後面的0是背景色代號,A是前景色代號。各顏色代碼如下:
0=黑色1=藍色2=綠色3=湖藍色4=紅色5=紫色6=黃色7=白色8=灰色9=淡藍色A=淡綠色B=淡淺綠色C=淡紅色D=淡紫色E=淡黃色F=亮白色
⑵ 用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語言 判斷指定字元串是否迴文怎麼寫
提示:實現本程序需要設計兩個函數。①主函數main,數據的輸入和輸出在該函數中完成。②自定義函數func,判斷串s是否為迴文。採用的方法是:用flag表示是否為迴文。用i從左向右掃描字元串s,用j從右向左掃描字元串s,若s[i]與s[j]不相等,則flag=0(表示不是迴文)並退出循環,否則,繼續比較直到i<j不成立。/*判斷指定字元串是否迴文*/#include
<stdio.h>int
func(char
*str){int
i,j,t,flag;
t=strlen(str);
for(i=0,j=t-1;i<=t/2;i++,j--)
{if(str[i]==str[j])
continue;
else
{
flag=0;
break;
}
}
if(i>=t/2)
flag=1;
return
flag;}void
main(){/********************blank********************/____________________;/*填空位置1:變數定義*/____________________;/*填空位置2:從鍵盤輸入需要判定的字元串*/____________________;/*填空位置3:調用func函數*/____________________;/*填空位置4:根據返回值flag的值,輸出判定結果*/}該演算法的時間復雜度是:____________________。
⑷ 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語言如何編寫判斷一個字元序列是否是迴文的函數
//首先我認為迴文不一定是奇數個;也有可能是偶數個;只要這個字元串x0dx0a//正讀跟反讀都一樣 那它就是迴文 所以不應該把字元串的個數當成是判斷迴文串的x0dx0a//一個條件。x0dx0a#include ⑹ 用C語言編寫程序,判斷一個數是否為迴文數。
#include<stdio.h>
intseparate(int*data,intn)
{
inti=0;
while(n>0)
{
data[i++]=n%10;
n/=10;
}
returni;
}
intjudge(int*data,intlen)
{
inti,j;
for(i=0,j=len-1;i<j&&data[i]==data[j];i++,j--);
if(i>=j)
return1;
else
return0;
}
intmain()
{
intn,len,r;
intdata[20];
scanf("%d",&n);
len=separate(data,n);
r=judge(data,len);
if(r==1)
printf("%d是迴文數
");
else
printf("%d不是迴文數
");
}
⑺ C語言怎麼判斷一個數是否是迴文數
所謂迴文數,就是說一個數字從左邊讀和從右邊讀的結果是一模一樣的,比如12321。
以下是判斷一個數是否為迴文數的代碼:
⑻ 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語言 關於判斷迴文數的程序
1、首先打開vc6.0,新建一個控制台項目,添加頭文件。