[問題] 一題阿姆斯壯數被CE
遇到的問題(Question):
測試輸入輸出沒問題
不過結果被打了個CE
餵入的資料(Input):
100 999
10 99
1 1000000
開發平台(Platform): (例: VC++, Gcc, OpenGL, Linux, ...)
Dev C++
程式碼(Code): (請善用置底文標色功能)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
char ch[8];
int a,b,i,flag=1;
double sum;
while(scanf("%d %d",&a,&b)!=EOF)
{
if(a>b)
{
i=a;
a=b;
b=i;
}
for(;a<=b;a++)
{
itoa(a,ch,10);
i=0,sum=0;
while(ch[i]!='\0')
{
sum+=pow((float)(ch[i]-48),(float)strlen(ch));
i++;
}
if(sum==a)
{
printf("%d ",a);
flag=0;
}
}
if(flag)
printf("none");
flag=1;
printf("\n");
}
return 0;
}
補充說明(Supplement):
請問那是哪裡被打CE呢?
我是在高中生解題系統解題
還有各位高手們覺得我的寫法有哪裡可以改進的嗎?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.119.126.2
→
12/08 17:41, , 1F
12/08 17:41, 1F
推
12/08 17:44, , 2F
12/08 17:44, 2F
→
12/08 17:44, , 3F
12/08 17:44, 3F
→
12/08 17:44, , 4F
12/08 17:44, 4F
→
12/08 17:46, , 5F
12/08 17:46, 5F
→
12/08 17:46, , 6F
12/08 17:46, 6F
有加string.h了
不過還是被CE
感謝各位提供的意見
※ 編輯: Mysteltainn 來自: 120.119.126.2 (12/08 18:00)
推
12/08 18:08, , 7F
12/08 18:08, 7F
推
12/08 18:19, , 8F
12/08 18:19, 8F
→
12/08 18:22, , 9F
12/08 18:22, 9F
感謝各位的意見
改成sprintf就AC了
問題應該是出在itoa這個函數
請問是itoa這函數太舊了
解題系統不支援的關係嗎?
※ 編輯: Mysteltainn 來自: 120.119.126.2 (12/08 20:13)
→
12/08 23:02, , 10F
12/08 23:02, 10F
推
12/09 02:45, , 11F
12/09 02:45, 11F
→
12/09 07:20, , 12F
12/09 07:20, 12F
→
12/09 07:21, , 13F
12/09 07:21, 13F
→
12/09 07:22, , 14F
12/09 07:22, 14F