1樓:匿名使用者
感覺程式思路不好,給你兩個思路
一個是用字串輸入,判斷字串長度來決定是否是少於5位,用strrev函式來反序,程式很簡單
char a[6];
dogets(a);
while(strlen(a)>5);
printf("%d",strlen(a)); //輸出位數
puts(strrev(a)); //輸出反序
一個是如你說的,用int型來輸入,不過判斷麻煩點,但是不需要用pow函式
int a,n,wei=0,s=0;
do //至少輸入一次,用do--while最好
scanf("%d",&a);
while(a<0||a>100000);
n=a;
if(n==0) //a是0的話,那也是有1位,但後面while是判斷不出來的
wei=1;
whie(n)
2樓:匿名使用者
逆輸出有很多的方式,你的相對麻煩一些,但是在你的程式上,卻遇到了奇怪的現象;
在你取出每一位數字的時候,當 n=2 的時候,運算就會出問題,很奇怪;
根據你程式的現象,做了一下修改,可以正常出結果了,但是有點想不通怎麼回事;
for(i=0;n>0;n--,i++)//取出每一位的數字else}
3樓:匿名使用者
//利用字串實現逆序
int func(int n)
;int i;
for(i = 0;i<5;i++)
return atoi(tmp);
}void main()
4樓:匿名使用者
額 我除錯了 完全ok哦 用的vs c++6.0
C中,intpnewint為什麼不正確
這樣子是沒有問題的啊,你定義了一個二重指標,指向了一個具有5個int 元素的陣列。除了沒有分號外,沒看出 不正確 是不是你最後沒有打分號。c 中,int p new int是可有可無的嗎?int p new int 是在堆中給變數分配了一個空間,當用完後需要手動釋放。可以使用delete 函式 如果...
試圖載入格式不正確的程式異常來自HRESULT 0x8007000B
hresult 0x8007000b是外掛支援的編譯環境錯誤,解決方法如下 1 在電腦上開啟程式設計軟體,同時開啟編譯後執行報錯的專案,準備工作就緒。2 在目標專案 執行出錯的軟體專案 上單擊滑鼠右鍵,選擇 屬性 進入到專案的屬性配置頁面。3 在專案的屬性頁面中,選擇 生成 設定 目標平臺 為 x8...
5以下資料中,不正確的數值或字元常量是CA0B
應該是013才是代表8進位制。轉義字元 是 o13 o13少了 5l,表示5為long型別值,c應該為ox13就對了 例 以下選項中不屬於字元常量的是 a.c b.c c.xcc0 d.072 能解釋一下c和d嗎 1 字元常量只能用單引號括起來,不 能用雙引號或其它括號。2 字元常量只能是單個版字元...