| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 367 人关注过本帖
标题:这个程序是运算有问题吗?
只看楼主 加入收藏
L502
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2015-2-6
结帖率:50%
收藏
 问题点数:0 回复次数:1 
这个程序是运算有问题吗?

从键盘输入一个四位整数,首先分离出该正整数中的每一位数字,并按逆序输出各位数字;然后用分离出的每位数字组成一个最大四位数和一个最小四位数,并显示输出。例如,若输入的四位正整数为3157,按逆序输出分离出的各位数字为7   5   1   3;组成的最大数为7531,最小数为1357。
#include"stdio.h"
void main()
{
    int x,a,b,c,d,e,f,g,h,i,j,k,l,m,n;
    printf("请输入一个四位整数:\n");
    scanf("%d",&x);
    {
    a=x/1000;
    b=(x%1000)/100;
    c=((x%1000)%100)/10;
    d=((x%1000)%100)%10;
    }
    if(a>b)
    {
        e=a;
        f=b;
    }
    else
    {
        e=b;
        f=a;
    }
    if(c>d)
    {
        g=c;
        h=d;
    }
    else
    {
        g=d;
        h=c;
    }
    if(e>g)
    {
        i=e;
        j=g;
    }
    else
    {
        i=g;
        j=e;
    }
    if(f>h)
    {
        k=f;
        l=h;
    }
    else
    {
        k=h;
        l=f;
    }
    m=i*1000+j*100+k*10+l;
    n=l*1000+k*100+j*10+i;
    printf("各位按逆顺序输出:%d,%d,%d,%d\n",d,c,b,a);
    printf("4个数组成最大的四位数是:%d\n",m);
    printf("4个数组成最小的四位数是:%d\n",n);
}
搜索更多相关主题的帖子: include 正整数 键盘 
2015-02-06 22:29
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>

#define N 4

int cmp(const void *a, const void*b) {
    return *(char*)b - *(char*)a;
}

int main(void) {
    int i;
    char num[N + 1], *p;
    printf("请输入一个四位整数:\n");
    fgets(num, N + 1, stdin);
    printf("各位按逆顺序输出: ");

    for(i = N - 1; i >= 0; --i) {
        printf("%c", num[i]);
    }

    puts("");
    qsort(num, N, sizeof(char), cmp);

    if(*num == '0') {
        printf("4个数组成最大的数是: 0\n");

    } else {
        printf("4个数组成最大的数是: %s\n", num);
    }

    for(i = N - 1; i >= 0; --i) {
        if(num[i] != '0') {
            p = &num[i];
            break;

        } else p = num;
    }

    if(p == num) {
        printf("4个数组成最小的数是: 0\n");

    } else {
        printf("4个数组成最小的数是: ");

        for(; p >= num; --p) {
            printf("%c", *p);
        }

        puts("");
    }

    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-02-07 01:29
快速回复:这个程序是运算有问题吗?
数据加载中...
 
   



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

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