| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2152 人关注过本帖
标题:一个C语言问题,想和大家讨论一下!
只看楼主 加入收藏
lotoze
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:5
注 册:2016-9-18
结帖率:66.67%
收藏
已结贴  问题点数:2 回复次数:13 
一个C语言问题,想和大家讨论一下!
程序每次读入一个正三位数,然后输出逆序的数字,注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出的应该是7。。。
希望大家能给出您们的代码。感谢!
搜索更多相关主题的帖子: C语言 
2016-11-06 15:46
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
你自己的看法呢?

早知做人那么辛苦!  当初不应该下凡
2016-11-06 15:51
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
int GetNum(int n)
{
    if(n>999||n<=0)
    {
         printf("Invalid number inputed!\n");
         return -1;
     }
     while(n%10==0)
         n/=10;
     return n;
}
//这样将把一个整十或整百数字末尾的0滤掉,剩下的你自己搞吧。
2016-11-06 16:18
tm00
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2016-10-29
收藏
得分:0 

int main(){
    int n,a,b,c,d;
    printf("Please input number:\n");
    scanf("%d",&n);
    a=n/100;
    b=n/10-a*10;
    c=n%100-b*10;
    if(c!=0)printf("%d%d%d\n",c,b,a);
    else if(b!=0)printf("%d%d\n",b,a);
    else printf("%d\n",a);
    return 0;
}
2016-11-06 16:51
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 4楼 tm00
图片附件: 游客没有浏览图片的权限,请 登录注册
还要再修改一下^

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-06 16:58
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 5楼 九转星河
不好意思,没看清题目要求是三位数

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-06 17:11
tm00
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2016-10-29
收藏
得分:0 
回复 5楼 九转星河
我只考虑楼主的三位数,没考虑2位数4位数什么的
2016-11-06 17:15
lotoze
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:5
注 册:2016-9-18
收藏
得分:0 
回复 楼主 lotoze
这是我的代码,,但是运行结果不正确,,有时还崩溃!
#include <stdio.h>

int main()
{    int rep(int x, int y);
    int num[3];
    int i,a,b;
    for(i=0; i<3; i++)
    scanf("%d", num[i]);
    rep(a,b);

    for(i=0; i<3; i++)
    if(num[i] != 0)
    {
        for(i=0; i<2; i++)
        if(num[i] = 0)
        {
            i = 2;
            printf("%d", num[i]);
        }
        else
            break;
        
            
        
    }
    else
        printf("输出结果是:0 \n");
   


   

        

    return 0;
}
int rep(int x,int y)
{
    int i, j, temp;
    int num[3];
    for(i=0; i<3; i++)
    for(j=0; j<i; j++)
    num[i]=temp;
    temp=num[j];
    num[i]=num[j];

}
2016-11-06 18:57
lotoze
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:5
注 册:2016-9-18
收藏
得分:0 
回复 3楼 yangfrancis
兄弟首先感谢你的回答,但三位这个程序所输出的三位数不只是整百的或者整十的数,而是任意输出一个三位数,输出这个三位数它首先进行逆序输出,在三位数逆序后可能会出现百位数为零或者百位数和十位数都为零,这样就过滤掉百位数十位数的零,只输出个位数,而当只是十位数为零或者个位数为零就不需要过滤掉零,这些限制条件都是在三位数逆序后情况,也就是说这个程序从宏观上说只是做个逆序的功能,其他的都是三位数逆序后所可能出现的情况。。
2016-11-06 19:28
a969798593
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:70
注 册:2016-10-13
收藏
得分:0 
if里面直接用“=”?你逗我
2016-11-06 19:48
快速回复:一个C语言问题,想和大家讨论一下!
数据加载中...
 
   



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

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