满意答案
mc69zwus314
推荐于 2018.04.13
采纳率:43% 等级:13
已帮助:6529人
编一个复杂的,也是很浪费时间的,走了很多弯路的程序给你。嘿嘿
# include
int shi(int bb)
{ int b1 = 1, b2;
if (bb == 0) return 1;
else for (b2 = 0; b2 < bb; b2++)
b1 *= 10;
return b1;
}
int geshu(int a)
{ int j = 0;
do{
a /= 10;
j++;
}while(a != 0) ;
return j;
}
int he(int kk, int nn)
{ int sum=0, b, aa;
for(b = 0; b < nn; b++)
{ aa = (kk%(shi(b+1)))/(shi(b));
sum = sum + aa;
}
return sum;
}
main()
{ int i, n;
printf("输入数据:\n");
scanf("%d", &i);
if (i < 10) printf ("%d", i);
else { do{
n = geshu(i);
i = he(i, n);
}while(i > 9);
printf("%d", i) ;
}
}
下面这个是一个简单的。
# include
main()
{ int i, n, sum = 0;
printf("输入数据:\n");
scanf("%d", &i);
while(i > 9)
{ while(i > 0)
{ sum = i%10;
i /= 10;
}
i = sum;
}
printf ("%d", i);
}
11分享举报