帮忙改下这个c程序

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:34:32
#include <stdio.h>
#include <stdlib.h>

int main()
{
int a;
printf("Please a number :");
scanf("%6d",&a);
while(1)
{
if(a%10<10&&a/10<1)
printf("\n1");
if(a%10<10&&a/10>1&&a/10<10)
printf("\n2");
if(a%100<100&&a/100<10&&a/100>1)
printf("\n3");
if(a%1000<1000&&a/1000<10&&a/1000>1)
printf("\n4");
if(a%10000<10000&&a/10000>1&&a/10000<10)
printf("5");
}

system("PAUSE");
return 0;
}

输入一个整数,输出整数的位数
但程序会不断的输出位数
如果不在每个printf外面加循环的话
怎样才能只输出一次结果
谢谢回答

#include <stdio.h>
#include <stdlib.h>

int main()
{
int a;
printf("Please a number :");
scanf("%6d",&a);
while(1)//不能用while(1)只要条件满足会一直执行的,要想只输出一个结果,去掉while(1)结构就行了
{
if(a%10<10&&a/10<1)
printf("\n1");
if(a%10<10&&a/10>1&&a/10<10)
printf("\n2");
if(a%100<100&&a/100<10&&a/100>1)
printf("\n3");
if(a%1000<1000&&a/1000<10&&a/1000>1)
printf("\n4");
if(a%10000<10000&&a/10000>1&&a/10000<10)
printf("5");
}

system("PAUSE");
return 0;
}

你没有循环跳出语句呀,用break;

#include <stdio.h>
#include <stdlib.h>

int main()
{
int a;
printf("Please a number :");
scanf("%6d",&a);
while(1)
{
if(a%10<10&&a/10<1)