c++求出输入的数字是几位数,并分别打印出每位数字。。程序~~菜鸟谢谢大家~~

如题所述

#include <iostream.h>
void main()
{
int num,i;
cout<<"请输入数字: ";
cin>>num;
if(num<10)
{
cout<<"你输入的是一位数\n";
cout<<num<<endl;
}
else if(num<100)
{
int g,s;
s=num/10;
g=num%10;
cout<<"你输入的是二位数\n";
cout<<s<<" "<<g<<endl;
}
else if(num<1000)
{
int g,s,b;
b=num/100;
s=(num-b*100)/10;
g=num-b*100-s*10;
cout<<"你输入的是三位数\n";
cout<<b<<" "<<s<<" "<<g<<endl;
}
else
cout<<"错误,超出范围。\n";
}

程序只计算到三位数,如果想计算更多的话,可以照着上面的自行添加。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-12
#include <iostream>
using namespace std;

int main()
{
int num, count =0;
cout<<" input your number"<<endl;
cin>>num;
while(num!=0)
{
count++;
cout<<num%10<<" ";
num = num/10;
}
cout<<"\n输入的是"<<count<<"位数字"<<endl;
}
//如果想按照输入的顺序输出可以加一个数组保存后再倒序输出本回答被提问者采纳

c++求出输入的数字是几位数,并分别打印出每位数字。。程序~~菜鸟谢谢...
cout<<"你输入的是三位数\\n";cout<<b<<" "<<s<<" "<<g<<endl;} else cout<<"错误,超出范围。\\n";} 程序只计算到三位数,如果想计算更多的话,可以照着上面的自行添加。

c++数序输出一个整数的各位数字(空格隔开) 如:输入14679 输出1 4 6...
m++;n=t % 10;\/\/每次取最后一位 就可以得到想要的数 比如第二次t是12 n=t%10就取到2了 printf("%d ",n);} } return 0;}

菜鸟:c++中怎么打印出数组啊?
1、首先需要使打开vs2010编译器,新建一个项目。2、然后需要按照图示代码包含头文件。3、然后需要按照图示代码输入main函数。4、然后需要按照图示代码定义一个int数组。5、然后需要按照图示代码定义一个int变量i。6、然后需要按照图示代码使用while语句打印数组。

用C++程序编写:输入4个整数,要求按由大到小的顺序输出
i--;\/\/因为最后一位为最小,无需再比较(即下次比较(i-1)-1次)} for(int m=0;m<=3;m++){ cout<<a[m]<<endl; }\/\/输出排序后四个数 }

C++ 数组 输入一行字符串(长度小于80个字符,只有字母和数字),统计其中...
int ABC_count = 0;\/\/大写字母个数 int abc_count = 0;\/\/小写字母个数 scanf("%s", str);\/\/连续输入字符到字符数组 while (str[i] != '\\0'){ if ((str[i] >= '0') && (str[i] <= '9'))\/\/判断是否是数字 { Numb_count++;} else if ((str[i] >= 'a') && (str...

菜鸟求教简单编程题目~~不是高手也能做的~~C++
printf("\\n输入一个合理正整数(10位数以内).\\n");scanf("%d",&m);i = 0;while(m){ i++;m \/=10;} if(10 < i)printf("这个数太大了.\\n");else printf("此数为%d位数.\\n",i);\/\/\/ printf("输入带括号的表达式.\\n");i = 0;scanf("%s",&c);while('\\0' != c[i])...

急,急,急!!!C++课程实践设计。本人菜鸟都不是。拜请请专业高人解答。完...
思路是这样子的:首先末尾要产生0,每产生一个0,都意味着存在一个10,因为他们是10进制的,那么10可以分解为5*2,由于每两个相邻的整数当中,就有一个因子2存在,也就是说,因子2的个数要比因子5的个数多的多……因此,本程序中,主要就是求因子5的个数。求解的思路很简单,首先,我们取一个...

用C++编程 产生一个10×10的二位随机整数方阵,求出每一行的最大值和每...
<< endl;for (int j = 1;j < 10;j++)if (min[j] > Max)Max = min[j];cout << "10个最小值中的最大值为:"<< Max << endl;t = (Max - Min)*(Max - Min);cout << "两数之差的平方:" << t << endl;system("pause");return 0;} 已经测试,如满意请采纳!

菜鸟初学疑惑,求高手解答
我可以非常肯定你的程序没有错!如果有错那么就是你在输出数字时候没有用逗号隔开啦!因为你的scanf("%d,%d,%d",&a,&b,&c);语句中每个%d都有一个逗号,所以在输入时每个数字后要加一个逗号,这样才能正确的赋值给a,b,c;基本的应该是:3,4,5enter键,这样你数出的最大值就是5 楼主的...

求一个c++程序:输入一个0~6的整数,转换成星期输出
char *weeks[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};int i;std::cout<<"请输入0-6的数字:"<<std::endl;std:cin>>i;if (i>=0&&i<=6){ std:cout<<weeks[i]<<std:endl;} else{ std:cout<<"输入不正确!"<<std:endl;} ...

相似回答