C言語なら俺に聞け(入門篇) Part 42
■ このスレッドは過去ログ倉庫に格納されています
0176デフォルトの名無しさん
2009/01/07(水) 18:23:15#define MAX の値を変更しても、10桁以上の計算が出来ないのですが、どのように修正したら良いでしょうか?
intからdoubleに変えてみたのですが、浮動小数点の不正な使用となります。
また、0と1以外の数字が入力された際にエラーを出したいのですが、この判定はどうしたらよいでしょうか?
アドバイスお願いします。
#include <stdio.h>
#define MAX 10
main()
{
int x, z[MAX], i, c;
int a=1;
int b=1;
scanf("%d",&x);
for(i = 0;i<=MAX-1;i++){
z[i]=((x/a)%10)*b;
a*=10;
b*=2;
}
for(i=0;i<=MAX-1;i++){
c += z[i];
}
printf("%d\n",c);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています