C++编程求助:使用循环语句输出该正整数的每一数位的数字。

编写一个程序以达到以下功能:(1)提示用户输入一个正整数,如果用户输入错误则提示用户并要求重新输入;(2)使用使用循环语句输出该正整数的每一数位的数字。例如:用户输入43... 编写一个程序以达到以下功能:
(1)提示用户输入一个正整数,如果用户输入错误则提示用户并要求重新输入;
(2)使用使用循环语句输出该正整数的每一数位的数字。例如:用户输入4367则,输出4 3 6 7
请用while/do while/for语句。
有加分。
展开
 我来答
好朋友_shuang
2010-04-22 · TA获得超过374个赞
知道小有建树答主
回答量:261
采纳率:100%
帮助的人:194万
展开全部
#include<stdio.h>
#include<string.h>
int f(char a[])
{int i,l=strlen(a);
for(i=0;i<l;i++)
if(a[i]<'0'||a[i]>'9') return 1;
return 0;
}
int main()
{
char a[100];
int p,i;
while(scanf("%s",a)){
p=strlen(a);
if(f(a)) {printf("输入有误请重新输入\n");
continue;}
else {for(i=0;i<p-1;i++)
printf("%c ",a[i]);
printf("%c\n",a[p-1]);
}

}
return 0;
}
//祝你学习进步
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天玉30
2010-04-23
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
#include<iostream>
#define N 256
using namespace std;
int main(){
short int n,i,num[N];

for(;;)
{ cout<<"请输入一个正整数:";
cin>>n;
if(n<0)
{ cout<<"输入错误!";
cin>>n;
}
else
break;
}
for(i=0;n!=0;i++)
{ num[i]=n%10;
n=n/10;
}
for(i=i-1;i>=0;i--)
{ cout<<num[i];
cout<<' ';
}
return 0;

}
已经运行过,OK!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
junlin1991
2010-04-24 · TA获得超过354个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:110万
展开全部
#include<iostream.h>
#include<math.h>
main()
{
int n,i=0;
float f;
cout<<"请输入一个正整数"<<endl;
iii:cin>>f;
n=f;
if(n!=f){
cout<<"输入错误,请重试:"<<endl;
goto iii;
}
while(pow(10,i)<n)
{
i++;
}
i--;
while(n>0)
{
cout<<(n-n%(int)pow(10,i))/(int)pow(10,i)<<'\t';
n=n%(int)pow(10,i);
i--;
}
cout<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
景沛凝Ee
2010-04-22 · TA获得超过313个赞
知道答主
回答量:49
采纳率:0%
帮助的人:56.2万
展开全部
#include<iostream>
using namespace std;
int fa(int n)
{
int m=1;
for (int i=1;i<n;++i)
{
m*=10;
}
return m;
}
int main()
{
int n,m,i=1;
cout<<"请输入一个正整数:"<<flush;
while(cin>>n)
{
if(n<=0)
{
cout<<"请重新输入一个正整数:"<<flush;
continue;
}
else
{
m=n;
while(m=m/10)
++i;
for(int j=i;j!=0;--j)
{

cout<<(n/fa(j))%10<<" ";

}
break;
}
}
cout<<endl;
return 0;
}
没写注释 看不懂就HI我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skylm1234
2010-04-22 · TA获得超过306个赞
知道小有建树答主
回答量:198
采纳率:100%
帮助的人:240万
展开全部
#include<iostream.h>
int fun(int m,int s[])
{
int i=0;
while(m>0)
{
s[i++]=m%10;
m/=10;
}
s[i]='\0';
return i;
}

void main()
{
int i,s[10],m;
biaoji:
cout<<"输入正整数:";
cin>>m;
if (m<=0)
{
cout<<"输入错误,请重新输入";
goto biaoji;
}
i=fun(m,s);
--i;
for(;i>=0;i--)
cout<<s[i]<<" ";

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式