编写一个程序,输入任意一个正整数,倒序输出他的每一位数字是多少,还有输出他有几位数

如题所述

#include <stdio.h>

int main()

{int n,x;

scanf("%d",&x);

for(n=0;x;x/=10,n++)

printf("%d ",x%10);

printf("\n它是%d位数\n",n);

return 0;

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-29
c++要求输入任意的一个六位数的正整数,输出由该数每一位上的数字组成的最大数!
第2个回答  2011-09-29
#include <stdio.h>
#include "iostream"
using namespace std;

int IntNumLenth(int num)//得到整数的位数
{
if (num == 0) {
return 0;
}
int lenth=0;
for (;num/10 != 0;lenth++)
{
num = num /10;
}
return lenth+1;
}

char* int2Str(int num)//得到整数的每一位数,保存为字符
{
int numLenth = IntNumLenth(num);
char *str = (char*)malloc(numLenth+1);
*(str+numLenth) = '\0';
for (int i = 0;i<numLenth;i++)
{
//*(str+numLenth -i -1) = 48 + num%10;//顺序
*(str+i) = 48 + num%10;//倒序
num /= 10;
}
printf("%s",str);
return str;
}
void main()
{
int a = 12345;
cout<<"\n IntNumLenth = "<<IntNumLenth(a)<<"\n int2Str = "<<int2Str(a);
}
第3个回答  2011-09-29
什么语言?追问

C语言 写的简单一些 谢谢

追答

#include "stdio.h"
void main()
{
int i=0;int num;int cut;
printf("请输入一个正整数");
scanf("%d",&num);
while(true)
{
cut=num%10;
num=num/10;
printf("%d ",cut);
i++
if(num==0)
break;
}
printf("长度:%d");
}
}

本回答被提问者采纳
相似回答