鱼C论坛

 找回密码
 立即注册
查看: 3940|回复: 8

请鱼友们来改条代码!!谢谢了!!

[复制链接]
发表于 2013-4-20 13:26:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入5个数组值,按以小到大排序!!
原码如下:
#include<stdio.h>
void main()
{
        int i,j,t,a[5];
        printf("请输入5个数组值:");
        for(i=0;i<5;i++)
                scanf("%d",&a[i]);
        printf("\n");
        for(i=0;i<5;i++)
                for(j=0;j<5-i;j++)
                        if(a[j]>a[j+1])
                                {t=a[j+1];a[j+1]=a[j];a[j]=t;}
        printf("数组值按小到大排序:");
        for(i=0;i<5;i++)
                printf(" %d",a[i]);
        printf("\n");

}
请是鱼友们改为
输入n个数组值,按以小到大排序!!

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-20 13:36:32 | 显示全部楼层
可以用动态数组来实现,我写了个,代码仅供参考。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(void)
  4. {
  5.         int i,j,t,num;
  6.         int flag = 0;
  7.         int *p = NULL;
  8.         printf("请输入数组个数:");
  9.         scanf("%d", &num);
  10.         p = (int*)malloc(num*sizeof(int));
  11.         if(NULL == p)
  12.         {
  13.             printf("内存不足");
  14.             exit(1);
  15.         }
  16.         for(i=0;i<num;i++)
  17.                 scanf("%d",&p[i]);
  18.         printf("\n");
  19.         for(i=0;i<num;i++)
  20.         {
  21.             flag = 0;
  22.             for(j=0;j<num-i;j++)
  23.                         if(p[j]>p[j+1])
  24.                                 {t=p[j+1];p[j+1]=p[j];p[j]=t;flag = 1;}
  25.             if(0 == flag)
  26.             {
  27.                 break;
  28.             }
  29.         }
  30.         printf("数组值按小到大排序:");
  31.         for(i=0;i<num;i++)
  32.                 printf(" %d",p[i]);
  33.         printf("\n");

  34. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-20 13:47:17 | 显示全部楼层
+1     !!!!!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-20 15:05:30 | 显示全部楼层
帮你顶一下,2楼!
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-20 18:59:19 | 显示全部楼层
无回帖,不论坛,这才是人道。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-4-20 19:51:23 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-20 20:11:58 | 显示全部楼层
#include<stdio.h>
void main()
{
         int i,j,t,a[5];
         printf("请输入5个数组值:");
         for(i=0;i<5;i++)
                 {
              scanf("%d",&a[i]);
              printf("\n");
                 }
         for(i=0;i<4;i++)
                 for(j=i+1;j<5;j++)
                         if(a[i]>a[j])
                                 {t=a[i];a[i]=a[j];a[j]=t;}
         printf("数组值按小到大排序:");
         for(i=0;i<5;i++)
                 printf(" %d",a[i]);
         printf("\n");

}
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-20 20:48:14 | 显示全部楼层
顶2楼。。:lol
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-20 21:15:27 | 显示全部楼层
p = (int*)malloc(num*sizeof(int));
和链表那样动态就更加好了。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-2 10:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表