编程输入一个整数,从高位开始逐位分割并输出它的各位数字 才学,求帮忙改一下
#include"stdio.h"#include"math.h"voidmain(){inta,b=0,c,d;printf("inputthea:");scanf("...
#include "stdio.h"
#include "math.h"
void main ()
{
int a,b=0,c,d;
printf("input the a:");
scanf("%d",&a);
while (a!=0)
{
a=a/10;
b=b++;
}
c=pow(10,b);
scanf("%ld",&c);
do
{
d=a/c;
printf("%d\n",d);
d=a%c;
c=c-1;
}
while(d!=0);
printf("\n");
} 展开
#include "math.h"
void main ()
{
int a,b=0,c,d;
printf("input the a:");
scanf("%d",&a);
while (a!=0)
{
a=a/10;
b=b++;
}
c=pow(10,b);
scanf("%ld",&c);
do
{
d=a/c;
printf("%d\n",d);
d=a%c;
c=c-1;
}
while(d!=0);
printf("\n");
} 展开
9个回答
展开全部
#include<stdio.h>
int main()
{
int i=0,n,a[12];
scanf("%d",&n);
while(n)
{
a[i++]=n%10;
n/=10;
}
for(n=0;n<i;n++)
printf("%d",a[n]);
printf("\n");
return 0;
}
如果没学数组的话:
#include<stdio.h>
#include<math.h>
int main()
{
int i=0,n,t;
scanf("%d",&n);
t=n;
while(t)
{
i++;//计算位数
t/=10;
}
while(i--)
{
printf("%d",n/(int)pow(10,i));//从高位开始输出
n=n%(int)pow(10,i);//去掉高位
}
printf("\n");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,c,d,i;
scanf("%d",&a);//输入4321
if(a==0){
printf("0 ");
}
else{
while(a!=0){i=-2; //4321满足
b=a*10;//此条语句不循环 //b=43210 //b=3210
//循环输出a的最高位
//实际上是b的最高为
while(b!=0){
//求出a的最高位c
c=b;
b=b/10;
// printf("%d\n",c);
i++;
}
printf("%d ",c); //输出4 //输出3
//接下来实现求出a的次高位
//剩下的部分是a-c*10的i次方
a=a-pow(10,i)*c; //a=321 //a=21
//printf("%d\n",a); //输出321
}
}
return 0;
}
#include<math.h>
int main(void)
{
int a,b,c,d,i;
scanf("%d",&a);//输入4321
if(a==0){
printf("0 ");
}
else{
while(a!=0){i=-2; //4321满足
b=a*10;//此条语句不循环 //b=43210 //b=3210
//循环输出a的最高位
//实际上是b的最高为
while(b!=0){
//求出a的最高位c
c=b;
b=b/10;
// printf("%d\n",c);
i++;
}
printf("%d ",c); //输出4 //输出3
//接下来实现求出a的次高位
//剩下的部分是a-c*10的i次方
a=a-pow(10,i)*c; //a=321 //a=21
//printf("%d\n",a); //输出321
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好!以下是我编译的程序,希望对你有帮助!
#include <stdio.h>
int main (void)
{
long long int n;
int i = 0, a[1000], j = 0, t = 0;
scanf ("%lld",&n);
if(n<0)
printf("error!");
if(n==0)
printf("0 ");
while (n)
{
a[j++] = n % 10;
n /= 10;
}
for (i = j - 1; i >= 0; i--)
{
printf ("%d ",a[i]);
}
return 0;
}
以上程序编译是正确的,如果对你有帮助,请采纳!谢谢!
#include <stdio.h>
int main (void)
{
long long int n;
int i = 0, a[1000], j = 0, t = 0;
scanf ("%lld",&n);
if(n<0)
printf("error!");
if(n==0)
printf("0 ");
while (n)
{
a[j++] = n % 10;
n /= 10;
}
for (i = j - 1; i >= 0; i--)
{
printf ("%d ",a[i]);
}
return 0;
}
以上程序编译是正确的,如果对你有帮助,请采纳!谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问
最高位到最低位,你那个完全看不懂啊,不过谢谢了,能以初学者的方式改改吗
3
4
2
3
4
追答
#include<iostream>
using namespace std;
void showNumber(int a);
void main()
{
int num = 0;
//cout<<"Please enter a number:";
printf("Please enter a number:");
//cin>>num;//input number
scanf("%d",&num);
showNumber(num);//print the number
}
void showNumber(int a)
{
int c = 10;
while((a/c)!=0)
{
c = c*10;
}
c = c/10;
while(c>1)
{
int b = a/c;
//cout<<b<<endl;
printf("%d\n",b);
a = a%c;
c = c/10;
}
//cout<<a<<endl;
printf("%d\n",a);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询