发布网友 发布时间:2024-10-18 00:12
共1个回答
热心网友 时间:2024-10-18 00:54
#include <stdio.h>
#include <stdlib.h>
void GetResult(int iInput) {
char a,c[3];
int i,t1,t2;
int d[3];
itoa(iInput,c,10);
t1 = 1; t2 = 0;
for(i=0;i<3;i++)
{
//将其分解出百位,十位,个位,并求出各位之和以及各位之积
a = c[i];
t1 = t1 * atoi(&a);
t2 = t2 + atoi(&a);
}
printf("百位:%c 十位:%c 个位:%c 积:%d 和:%d",c[0],c[1],c[2],t1,t2);
}
int main(int argc, char** argv) {
int input = 0;
printf("请输入三位的整数(100~999), 如果输入0则退出程序:\n\n");
while(1) {
if(scanf("%d",&input) == 1) {
if(input == 0) {
break;
} else
{
GetResult(input);
}
} else {
printf("无效的输入,跳过返回...\n");
}
}
return 0;
}
扩展资料:
while结构循环为当型循环(when type loop),一般用于不知道循环次数的情况。每次执行循环体前都要对条件表达式进行判断。维持循环的是一个条件表达式,只要指定条件为true成立,循环就可以一直执行代码块。如果指定条件为false不成立,则要退出循环。
while循环是在顶上测试循环终止条件,不同于do while循环是在之后,在底部进行测试所以循环体至少要执行一次。while循环可以用break语句跳出循环,用continue语句结束本次循环。