| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 395 人关注过本帖
标题:大一狗的一个简单的致命问题
只看楼主 加入收藏
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
结帖率:80%
收藏
 问题点数:0 回复次数:9 
大一狗的一个简单的致命问题
#include<stdio.h>
#include<math.h>
int main()
{int x,y,z,i=0;
scanf("%d",&x);
y=x;
z=x;
if(x==0)
printf("0");
else
while(x!=0)
{printf("%d ",x%10);
x=x/10;}
printf("\n");
while(y!=0)
{printf("%d",y%10);
y=y/10;}
printf("\n");
while(z!=0)
{i++;
z=z/10;}
printf("%d",i);

return 0;
}
这样比如输入027,倒序过来是72 ,0就消失了,怎么样让它显示720?
搜索更多相关主题的帖子: include return 
2015-04-04 20:38
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
少做数学运算是正道

授人以渔,不授人以鱼。
2015-04-04 20:39
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
收藏
得分:0 
#include<stdio.h>
#include<math.h>
int main()
{int x,y,z,i=0;
scanf("%d",&x);
y=x;
z=x;
if(x==0)
printf("0");
else
while(x!=0)
{printf("%d ",x%10);
x=x/10;}

看这部分就行了 其它部分是别的程序

喵 ~
2015-04-04 20:40
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
收藏
得分:0 
回复 2楼 TonyDeng
版主大人求指教,倒序数字不是用取余数这种方法吗?但这种方法,没法倒序首位的0

喵 ~
2015-04-04 20:41
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
正因为数学运算会消除前导零,所以叫你不要做数学运算,把数值转化成字符串处理即可,简单直接高效。提示一下:其实在用scanf()输入数值的时候,这个函数就是把键盘緩衝區中的字符串转成数值,做了多余的动作,所以你最高效的办法,是根本就不要用scanf()读入数值,而是读入字符串。

[ 本帖最后由 TonyDeng 于 2015-4-4 20:51 编辑 ]

授人以渔,不授人以鱼。
2015-04-04 20:47
ceoooec
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:61
注 册:2013-6-11
收藏
得分:0 
输入072,你是当整数读入的。前面的0这个时候就已经舍弃了。再这么操作也不行吧!你可以试着当字符串,或者字符输入。
2015-04-04 20:47
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <string.h>

int main(void)
{
    char str[1024] = {0};
    fgets(str, sizeof (str), stdin);
    for (int i = strlen(str) - 1; i >= 0 ; --i)
        putchar(str[i]);
    return 0;
}

2015-04-04 20:58
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
收藏
得分:0 
回复 7楼 zklhp
天哪= = 看不懂,才学到if,while,for,字符串怎么用?

喵 ~
2015-04-04 21:00
bsb5wdza
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-4-4
收藏
得分:0 
回复 6楼 ceoooec
能帮着改一小部分吗?字符串我还没学,自己知道一些,但总有错误

喵 ~
2015-04-04 21:01
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用bsb5wdza在2015-4-4 21:00:48的发言:

天哪= = 看不懂,才学到if,while,for,字符串怎么用?

那就继续学习罢 加油哦
2015-04-04 21:02
快速回复:大一狗的一个简单的致命问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027474 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved