1樓:匿名使用者
你的程式是在判斷迴文數嗎?看了感覺好像什麼都不是啊,程式過於囉嗦,且有許多畫蛇添足的地方。你的演算法錯了,要改的話不是在你這個程式裡去找錯誤,而是要完全推倒重做。
下面的程式簡潔易懂,效率也高,你不妨試試。
#include
int ishuiwenshu(int data)return s == data;
}int main( )
2樓:匿名使用者
1、迴圈裡要有判斷跳出才行,否則一直加一直不滿足條件可能會導致死迴圈2、impossible後的驚歎號貌似是半形的**已ac,僅供參考。。
#include
#include
#define maxsize 3000
char *add(char *m, int n)while(jw > 0)
for(int i=0; i= 10) && (res[i] <= 16)) res[i] = res[i] - 10 + 'a';
else res[i] += '0';
}delete mt;
return res;
}bool isok(char *m)
if(step <= 30)
else
return 0;}
3樓:聽不清啊
對兩個地方作了點改動,不妨試一下?
void sum (int a , int b )//求和函式if (jin > 0)
c [num ++] = jin;
}copy (c, nm);
turn (nm, mn);
sum (nm, mn);
if(++su>29)break; //這裡有改動}if (su < 30)
printf ("step=%d\n", su);
else
printf ("impossible!\n");
system ("pause");
return 0;}
4樓:匿名使用者
感覺你的迴文數怎麼這麼麻煩啊
可以理解成迴文字串啊
char str[8000],str1[8000]gets(str)
strcpy(str1,str)
strrev(str)
strcmp(str,str1)如果等於0就是迴文,不等就不是中是需要判斷一下這個字串是不是全數字就好了
5樓:一米陽光
能說一下你的思路嗎?不怎麼懂你的意思。
c語言求迴文數的問題
6樓:匿名使用者
scanf("%d",a[m]);
改成 scanf("%d",&a[m]);
7樓:莫給老子拖堂了
試問scanf("%d",a[m]);
你這樣輸入是想直接在輸入的時候把每位數直接賦值到陣列中吧 但是你輸入的時候 如 123 enter 則會全輸入到a[0];個人建議單獨寫函式求輸入數的反過來的數 在比較是否相同
8樓:
你把scanf放到第一個for迴圈裡面,什麼意思?
c語言怎麼判斷數是否是迴文數,C語言怎麼判斷一個數是否是迴文數?
所謂迴文數,就是說copy一個數字從左邊讀和從右邊讀的結果是一模一樣的,比如12321。以下是判斷一個數是否為迴文數的 大致思路就是將一個數反著排列一遍,如果和原先的數一樣,那麼就是迴文數。這個排列過程用到了餘數和整除。比如986,經過排列後為689,就不是迴文數。c語言經典例子之判斷迴文數 inc...
C語言程式設計判斷數是否是迴文數
include include int x,y int separate int data,int n data y 0 for i 0,j y 1 i j i j if i y 1 printf 是迴文數 n int main 希望lz好好學習 c語言怎麼判斷一個數是否是迴文數?所謂迴文數,就是說...
C語言程式設計 求所有的六位完全平方數也是迴文數(與反序數相同)
include main 836 836 698896 三個兩位的完全平方數連在一起寫,得到一個六位的完全平方數,求所有這樣的六位完全平方數 兩位的完全平方數只有 16,bn,26,八9,6八,個1,如果一個數的十位數字是奇數且是完全平方數,則個位數字一定是6,也就是16在個位和十位位置,完全平方數...