C语言的问题 请教各位大虾们~~~~~
题目是这样的给一个不多于5位的正数,要求;1求出他是几位数;2分别输出每一位数;3按逆顺序输出各位数字,例如原数为321,应输出为123下面是我写的#include"st...
题目是这样的
给一个不多于5位的正数,要求;
1求出他是几位数;
2分别输出每一位数;
3按逆顺序输出各位数字,例如原数为321,应输出为123
下面是我写的
#include "stdio.h"
#include "conio.h"
main()
{
float a,b,c,d,e,
scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e);
{if(a=!0)
printf("该数字为5位");
if(a=0,b=!0);
printf("该数字为4位");
if(a=0,b=0,c=!0)
printf("该数字为3位");
if(a=0,b=0,c=0,d=!0)
printf("该数字为2位");
if(a=0,b=0,c=0,d=0)
printf("该数字为1位");
}
printf("%f,%f,%f,%f,%f",a,b,c,d,e);
printf("%f,%f,%f,%f,%f",e,d,c,b,a);
getch();
}
不知道为什么错了啊~~~~请大家帮帮忙啊 ~~~
谢谢大家啊~~~呵呵 展开
给一个不多于5位的正数,要求;
1求出他是几位数;
2分别输出每一位数;
3按逆顺序输出各位数字,例如原数为321,应输出为123
下面是我写的
#include "stdio.h"
#include "conio.h"
main()
{
float a,b,c,d,e,
scanf("%f,%f,%f,%f,%f",&a,&b,&c,&d,&e);
{if(a=!0)
printf("该数字为5位");
if(a=0,b=!0);
printf("该数字为4位");
if(a=0,b=0,c=!0)
printf("该数字为3位");
if(a=0,b=0,c=0,d=!0)
printf("该数字为2位");
if(a=0,b=0,c=0,d=0)
printf("该数字为1位");
}
printf("%f,%f,%f,%f,%f",a,b,c,d,e);
printf("%f,%f,%f,%f,%f",e,d,c,b,a);
getch();
}
不知道为什么错了啊~~~~请大家帮帮忙啊 ~~~
谢谢大家啊~~~呵呵 展开
5个回答
展开全部
1:求出它是几位数;
#include<stdio.h>
void main()
{
unsigned int x,y,z;
scanf("%5d",x);
if(x<10) y=1;
printf("%d",y);
else if(x<100) y=2;
printf("%d",y);
else if(x<1000) y=3;
printf("%d",y);
else if(x<10000) y=4;
printf("%d",y);
else y=5;
printf("%d",y);
}
2:分别输出每一位数;
if(x<10) y=1;
z=x;
printf("%d",y);printf("%d",z);
else if(x<100) y=2;
z=int(x/10);
printf("%d",y);printf("%d,%d",z,x-z*10);
else if(x<1000) y=3;
printf("%d",y);
else if(x<10000) y=4;
printf("%d",y);
else y=5;
printf("%d",y);
3: 逆序输出
while (x> 0) { //x大于0就不停循环
printf("%d",x%10); //输出个位
x/= 10; //除以10
}
#include<stdio.h>
void main()
{
unsigned int x,y,z;
scanf("%5d",x);
if(x<10) y=1;
printf("%d",y);
else if(x<100) y=2;
printf("%d",y);
else if(x<1000) y=3;
printf("%d",y);
else if(x<10000) y=4;
printf("%d",y);
else y=5;
printf("%d",y);
}
2:分别输出每一位数;
if(x<10) y=1;
z=x;
printf("%d",y);printf("%d",z);
else if(x<100) y=2;
z=int(x/10);
printf("%d",y);printf("%d,%d",z,x-z*10);
else if(x<1000) y=3;
printf("%d",y);
else if(x<10000) y=4;
printf("%d",y);
else y=5;
printf("%d",y);
3: 逆序输出
while (x> 0) { //x大于0就不停循环
printf("%d",x%10); //输出个位
x/= 10; //除以10
}
展开全部
scanf里面写了%f,%f,%f,%f,%f的话,那么你每输入一个数字,就要再输入一个逗号,再输入下一个数字.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用swich case语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你写的是C语言?!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥 你的算法也不对啊
就是输出一位说
也得在加个条件啊 E!=0
就是输出一位说
也得在加个条件啊 E!=0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询