输入一个正整数,按照从高位到低位的顺序输出各位数字。

用C语言

误解下题意可以用下面这种方法:
#include<stdio.h>
int main()
{

int x;
scanf("%d",&x);
printf("%d\n",x);
return 0;
}

输入了什么,我就输出什么;满足题意。

下面是一个精确的计算过程程序:(用的C++不太习惯用C)
#include <iostream>
using namespace std;
int main()
{
int x;
cin>>x;
int i=0;

int c[20]={0};
while(x!=0)
{
c[i++]=x%10;
x/=10;
}

for(int j=i-1;j>=0;j--)
cout<<c[j];

cout<<endl;
return 0;
}
VC6.0编译通过;所有本人的测试均正确;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-24
这个程序写的有问题
答案补充
帮你改了下:
#include
<stdio.h>
void
main(
)
{int
digit,
number,
power,
t;printf("Enter
an
integer:");scanf("%d",
&number);//读入一个数printf("The
digit
is:");if(0>number)printf("-\t");//
如果是负数,先打印负号number=number<0?-number:number;//取绝对值(这个是三目运算符)power=1;while(10<number/power)power*=10;//求出number的最高位数while(power>=1)//一直算到个位{digit
=
number/power;//算出最高位printf("%d\t",digit);number%=power;//抛掉最高位power/=10;//最高位数同时降低一位}
printf("\n");
}
第2个回答  推荐于2018-04-24
#include<stdio.h>
#include<stdlib.h>

int main()
{
int i,k,n,j,a=1,b[5];
int m;
printf("shu ru yi ge shu (<100000):");
scanf("%d",&j);
m=j;
for(k=0;k<5;k++)
{
b[a]=m%10;
m=m/10;
if(m) a=a+1;
else n=1;

if(n==1)break;
}

for(i=a;i>=1;i--)
{
printf("%d ",b[i]);
}
system("pause");
}本回答被网友采纳
第3个回答  2008-06-13
举个例子~~~