一个简单的C语言问题
编一个程序,有如下功能:输入一个不超过5位的正整数:1.求出它是几位数2.分别打印出每一位数字3.按逆顺序打印每一位数字,如原数为123,则输出321...
编一个程序,有如下功能:输入一个不超过5位的正整数:
1.求出它是几位数
2.分别打印出每一位数字
3.按逆顺序打印每一位数字,如原数为123,则输出321 展开
1.求出它是几位数
2.分别打印出每一位数字
3.按逆顺序打印每一位数字,如原数为123,则输出321 展开
3个回答
展开全部
调试过了没有问题,楼主觉得能用的话一定要给点分呀!
#include "stdio.h"
void main()
{
long num;
int i,a[5],power;
printf("Input a num:");
scanf("%d",&num);
if(num>99999) printf("The highest power of num is:>5");
else
{
for(i=0;i<5;i++)
{
a[i]=num%10;/*完成取各位数字并按逆序保存*/
num=num/10;
}
if(a[4]!=0) power=5;
else if(a[3]!=0) power=4;
else if(a[2]!=0) power=3;
else if(a[1]!=0) power=2;
else power=1;
printf("The highest power of num is:%d",power);
}
printf("\nthe num:");
for(i=power-1;i>=0;i--) printf("%d ",a[i]);
printf("\nthe Reverse of num:");
for(i=0;i<power;i++)printf("%d ",a[i]);
}
#include "stdio.h"
void main()
{
long num;
int i,a[5],power;
printf("Input a num:");
scanf("%d",&num);
if(num>99999) printf("The highest power of num is:>5");
else
{
for(i=0;i<5;i++)
{
a[i]=num%10;/*完成取各位数字并按逆序保存*/
num=num/10;
}
if(a[4]!=0) power=5;
else if(a[3]!=0) power=4;
else if(a[2]!=0) power=3;
else if(a[1]!=0) power=2;
else power=1;
printf("The highest power of num is:%d",power);
}
printf("\nthe num:");
for(i=power-1;i>=0;i--) printf("%d ",a[i]);
printf("\nthe Reverse of num:");
for(i=0;i<power;i++)printf("%d ",a[i]);
}
展开全部
#include<stdio.h>
void main()
{
int a,b,i;
printf("please input a:\n");
scanf("%d",&a);
if(a<10)b=1;
else if(a<100)b=2;
else if(a<1000)b=3;
else if(a<10000)b=4;
printf("a have %d bit.\n",b);
switch()
{
case 1:printf("%d\n",a);printf("%d",a);break;
case 2:printf("%d %d\n",a/10,a%10);printf("%d%d",a%10,a/10);break;
case 3:printf("%d %d %d\n",a/100,a%100/10,a%10);
printf("%d%d%d",a%10,a%100/10,a/100);break;
case 4:printf("%d %d %d %d\n",a/1000,a%1000/100,a%100/10,a%10);
printf("%d%d%d%d",a%10,a%100/10,a%1000/100,a/1000);break;
}
}
这是最简单的想法,还有可以用函数调用!自己试一下吧!
void main()
{
int a,b,i;
printf("please input a:\n");
scanf("%d",&a);
if(a<10)b=1;
else if(a<100)b=2;
else if(a<1000)b=3;
else if(a<10000)b=4;
printf("a have %d bit.\n",b);
switch()
{
case 1:printf("%d\n",a);printf("%d",a);break;
case 2:printf("%d %d\n",a/10,a%10);printf("%d%d",a%10,a/10);break;
case 3:printf("%d %d %d\n",a/100,a%100/10,a%10);
printf("%d%d%d",a%10,a%100/10,a/100);break;
case 4:printf("%d %d %d %d\n",a/1000,a%1000/100,a%100/10,a%10);
printf("%d%d%d%d",a%10,a%100/10,a%1000/100,a/1000);break;
}
}
这是最简单的想法,还有可以用函数调用!自己试一下吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
作业题,还是自己做做吧,做不出来再把代码贴出来大家研究研究,这样才有用.......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询