①「以下の操作を繰り返し、0が入力されると終了するプログラムを作成する。
8桁以内の整数値を読み込み、これが正数なら下位桁から、負数なら上位桁から1桁づつ切り出し、1行に8個の数を表示する。」
下記のソースをもっと簡単にしたいのですがどうすればいいですか?
#include <stdio.h>
int main(void){
int x;
int hu_or_sei;
int temp;
char kekka[8];
char i;
while(1){
printf("input X: ");
scanf("%d",&x);
if(x==0)break;
if(x/100000000 != 0){
printf("over 8 KETA!!!\n");
}
if(x>0){
hu_or_sei=1;
}
else{
hu_or_sei=0;
x*=-1;
}
temp=10000000;
for(i=0;i<8;i++){
kekka[i]=x/temp;
x-=(x/temp)*temp;
temp/=10;
}
if(hu_or_sei==1){
for(i=0;i<8;i++){
printf("%d ",kekka[7-i]);
}
printf("+\n");
}
else{
for(i=0;i<8;i++){
printf("%d ",kekka[i]);
}
printf("- \n");
}
}
return 0;
}