输入一个数,输出该数各个位上的数 如输入1234 输出 1 2 3 4 并输出其反序数 4321

如题。。。。。今天突然看到这个题目 是书上很前面的题目 那是连数组 什么都没教过 貌似就用 / 和% 来做的把!!
输入的数 不一定是四位数诶 位数不确定 ,用c语言的

第1个回答  2009-07-07
是用C语言求一个数的你逆序数么?如果你想用%和/的话 给你个参考
#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
a=a/1000+a/100%10*10+a%100/10*100+a%10*1000;
printf("%d",a);
}
大概就是这样的算法
我没有调试 你参考一下
第2个回答  2009-07-07
#include <stdio.h>

void main()
{
int num,arr[32],i,k=0;
printf("请输入一个数:");
scanf("%d",&num);
while(num)
{
arr[k++]=num%10;
num/=10;
}
printf("分解后的数字:");
for(i=k-1;i>0;i--)
printf("%d ",arr[i]);
printf("%d\n",arr[i]);
printf("反转后的数字:");
for(i=0;i<k;i++)
printf("%d",arr[i]);
printf("\n");
}
第3个回答  2009-07-08
//没用数组
#include <stdio.h>
#include <math.h>
void main(){
int num,tempnum,powtemp,logtemp;
scanf("%d",&num);
tempnum=num;
while(tempnum){//顺序输出
logtemp=log10(tempnum);
powtemp=pow(10,logtemp);
printf("%d ",tempnum/powtemp);
tempnum=tempnum%powtemp;
}
printf("\n");
while(num){//逆序输出
printf("%d ",num%10);
num/=10;
}
}本回答被网友采纳
第4个回答  2009-07-07
main()
{int a,c=1,b[5],i;
scanf("%d",&a);
for(i=0;i<5;i++) //取出各个位
{b[i]=a/c%10;
c*=10;
}
for(i=4;i>=0;i--) //顺序输出
{if(!b[i]) continue;
printf("%d ",b[i]);
}
printf("\n");
for(i=0;b[i];i++) //逆序输出
printf("%d ",b[i]);
printf("\n");
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网