搜索
查看: 802|回复: 6
打印 上一主题 下一主题

求解答 自己输入4个数字,然后排序输出

[复制链接]
跳转到指定楼层
楼主
发表于 2017-1-31 19:12:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{   
    int a,b,c,d,i;
    a=b=c=d=i=0;

    system("pause");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("``````````````````````````````````````````````请输入第一个数字:");
    scanf("%d",&a);   
    printf("``````````````````````````````````````````````请输入第二个数字:");
    scanf("%d",&b);
    printf("```````````````````````````````````````````````请输入第三个数字:");
    scanf("%d",&c);   
    printf("```````````````````````````````````````````````请输入第四个数字:");
    scanf("%d",&d);   

       

    if(a>=b)
                {a=a;b=b;}
    else
                {a=i;a=b;b=i;}
    if(a>=c)
                {a=a,c=c;}
    else
                {a=i;a=c;c=i;}
    if(a>=d)
                {a=a;d=d;}
    else
                {a=i;a=d;d=i;}
//======================================================a变量结束      
    if(b>=a)
                {a=i;a=b;b=i;}
    else
                {a=a;b=b;}
    if(b>=c)
                {b=b;c=c;}
    else
                {b=i;b=c;c=i;}
    if(b>d)
                {b=b;e=e;}
    else
                {b=i;b=d;d=i;}
//=================================================================b变量结束
    if(c>=a)
                {a=i;a=b;b=i;}
    else
                {a=a;c=c;}
    if(c>=b)
                {b=i;b=c;c=i;}
    else
                {b=b;c=c;}
    if(c>d)
                {c=c;d=d;}
    else
                {c=i;c=d;d=i;}
//=================================================================================c变量结束
    if(d>=a)
                {a=i;a=d;d=i;}
    else
                {d=d;a=a;}
    if(d>=b)
                {d=i;d=b;b=i;}
    else
                {d=d;b=b;}
    if(d>=c)
                {d=i;d=c;c=i;}
    else
                {d=d;c=c;}

        printf("从大到小排列为:%d %d %d %d ",a,b,c,d);

        system("pause");
        return 0;
}



莫非这样写不对吗?输出老是c与d的值为0

沙发
发表于 2017-1-31 22:13:05 | 只看该作者
[mw_shl_code=c,true]#include <stdio.h>
void main()
{
        double *a;
    int i,j;
    int t;
    int n = 4;
    double t1 = clock()/1000;
    a = (double*)calloc(sizeof(double),n + 1);
    printf("请输入四个数字(空格隔开):");
    for(i = 0;i < n;i++)
    {
                scanf("%lf",&a);
    }
    t1 = clock()/1000;
    for(j = 0;j < n;j++)
    {
                for(i = 0;i < (n - 1);i++)
                {
                        if(a > a[i+1])
                        {
                                t = a[i + 1];
                                a[i + 1] = a;
                                a = t;
                        }
                }
    }
    printf("time:%lfs\n",(double)clock()/1000 - t1);
    for(i = 0;i < n;i++)
    {
                printf("%lf ",a);
    }
    free(a);
        getch();
}[/mw_shl_code]
板凳
发表于 2017-1-31 22:14:18 | 只看该作者
[mw_shl_code=c,true]#include <stdio.h>
void main()
{
        double *a;
    int i,j;
    int t;
    int n = 4;
    double t1 = clock()/1000;
    a = (double*)calloc(sizeof(double),n + 1);
    printf("请输入四个数字(空格隔开):");
    for(i = 0;i < n;i++)
    {
                scanf("%lf",&a);
    }
    t1 = clock()/1000;
    for(j = 0;j < n;j++)
    {
                for(i = 0;i < (n - 1);i++)
                {
                        if(a > a[i+1])
                        {
                                t = a[i + 1];
                                a[i + 1] = a;
                                a = t;
                        }
                }
    }
    printf("time:%lfs\n",(double)clock()/1000 - t1);
    for(i = 0;i < n;i++)
    {
                printf("%lf ",a);
    }
    free(a);
        getch();
}[/mw_shl_code]
地板
发表于 2017-2-1 18:26:25 | 只看该作者
初学C 发表于 2017-1-31 22:13
[mw_shl_code=c,true]#include
void main()
{

那个。。。来看看这一段代码
    char o,p;
    p='H';
    scanf("%c",&o);
    if(c==p)
     printf("Y");
    else
         printf("N");
为什么输入H后还是输出N?
5#
发表于 2017-2-1 20:11:40 | 只看该作者
李加健_xDn7r 发表于 2017-2-1 18:26
那个。。。来看看这一段代码
    char o,p;
    p='H';

输入的结果保存在变量o中 不在变量c中
应该是if(o == p)
6#
发表于 2017-2-4 11:37:27 | 只看该作者
其实你在一个printf("")里输入多个\n,就可以了,没必要搞得那么麻烦。&#129315;
7#
发表于 2017-2-4 17:00:37 | 只看该作者
吴从周一 发表于 2017-2-4 11:37
其实你在一个printf("")里输入多个\n,就可以了,没必要搞得那么麻烦。&#129315;

那直接使用多个putchar
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表