哪位大神看看我这程序那错了,为什么出来总是无限循环0000000
程序如下#include<stdio.h>#include<math.h>voidmain(){inti,n,r,m;printf("Pleaseinputanumber...
程序如下
#include<stdio.h>
#include<math.h>
void main()
{
int i,n,r,m;
printf("Please input a number:");
scanf("%d",&n);
printf("please input how many count:");
scanf("%d",&m);
r=n/(pow(10,m));
while(r<=n)
{
i=r%10;
r=r*10;
printf("%d\t",i);
}
}
程序要求:输入一个整数,从高位开始逐位分割并输出它的各位数字。 展开
#include<stdio.h>
#include<math.h>
void main()
{
int i,n,r,m;
printf("Please input a number:");
scanf("%d",&n);
printf("please input how many count:");
scanf("%d",&m);
r=n/(pow(10,m));
while(r<=n)
{
i=r%10;
r=r*10;
printf("%d\t",i);
}
}
程序要求:输入一个整数,从高位开始逐位分割并输出它的各位数字。 展开
1个回答
展开全部
while循环改一改
while(r>=1)
{
i=r%10;
r=r/10;
printf("%d\t",i);
}
}
while(r>=1)
{
i=r%10;
r=r/10;
printf("%d\t",i);
}
}
追问
不对啊,要求是按顺序分割,我是先除,让他小于10,得出最高位,然后再一个个乘上去的
追答
比如输入n = 1234, m=2
一开始r = 12
i = r%10 = 2, 然后r*10 = 120, i = r%10 = 0, 以后i就一直是0了, r应该除以10
我得到的是从低位到高位的 要存储在数组中最后输出从高位到低位的
int i[100];
int j = 0;
while(r>=1)
{
i[j] = r%10;
r=r/10;
j++;
}
for (j=0;j<m;j++)
{
printf("%d\t",i[j]);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询