| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 278 人关注过本帖
标题:这个代码还能在精简吗?
取消只看楼主 加入收藏
lihuaye
Rank: 1
等 级:新手上路
帖 子:23
专家分:2
注 册:2012-3-10
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:0 
这个代码还能在精简吗?
题目是:
给一个不多于4位的正整数,编程实现:
求出它是几位数
按正序分别输出每一位数字
按反序分别输出每一位数字
应准备以下数据进行测试:
要处理的数为1位正整数;
要处理的数为2位正整数;
要处理的数为3位正整数;
要处理的数为4位正整数;
除次之外,程序还应对不合法的输入作必要的处理。如以下情形:
输入负数;
输入的数超出4位(如12345)。

这是我自己写的代码
程序代码:
#include <stdio.h>
int main(){
    int a,x1,x2,x3,x4;
    scanf("%d",&a);
    if(a>=10000){
        printf("错误");
        return 0;
        }
    if(a>=1000){
      x1=a/1000;x2=(a/100)%10;x3=(a/10)%100%10;x4=a%1000%100%10;
      printf("4位数,第一位%d,第二位%d,第三位%d,第四位%d,倒序%d",x1,x2,x3,x4,x4*1000+x3*100+x2*10+x1);
    }
    else if(a>=100){
        x1=a/100;x2=(a/10)%10;x3=a%100%10;
        printf("3位数,第一位%d,第二位%d,第三位%d,倒序%d",x1,x2,x3,x3*100+x2*10+x1);
    }
    else if(a>=10){
        x1=a/10;x2=a%10;
        printf("二位数,第一位%d,第二位%d,倒序%d",x1,x2,x2*10+x1);
    }
    else if(a>=0)
        printf("一位数,第一位%d,倒序%d",a,a);
        else 
        printf("错误");
    }



求简短精炼
搜索更多相关主题的帖子: 正整数 
2013-11-20 19:35
快速回复:这个代码还能在精简吗?
数据加载中...
 
   



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

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