| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 638 人关注过本帖
标题:新手初学C语言,懂的请帮看看,,,
只看楼主 加入收藏
zhaoyao0323
Rank: 2
等 级:论坛游民
帖 子:3
专家分:20
注 册:2011-11-16
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:6 
新手初学C语言,懂的请帮看看,,,
#include<stdio.h>
main()
{
    int a[11];
     int i,j,t;
     printf("input the numbers\n");
     for(i=1;i<11;i++)
     scanf("%d",&a[i]);
      printf("\n");
      for(j=1;j<=9;j++)
          for(i=1;i<=10-i;i++)
              if(a[i]>a[i+1])
              {t=a[i];a[i]=a[i+1];a[i+1]=t;}
        for(i=1;i<11;i++)
              printf("%d ",a[i]);
}      
怎么筛选不了从小到大的,还有那个for(i=1;i<11;i++)中的i 是一定要从1开始么???我想用0可以不??具体0和1按什么来定的??

      
搜索更多相关主题的帖子: numbers C语言 
2011-12-23 02:13
龙添羽
Rank: 2
等 级:论坛游民
帖 子:10
专家分:17
注 册:2011-12-3
收藏
得分:2 
程序代码:
#include<stdio.h>

int main()
{
    int a[11];
    int i, j, t;
    printf("input the numbers:\n");
    for(i = 0; i < 11; i++)
        scanf("%d", &a[i]);
    printf("\n");
    for(j = 0; j < 10; j++)
    {
        for(i = 0; i < 10-j; i++)
        {
            if(a[i] > a[i+1])
            {
                t = a[i];
                a[i] = a[i+1];
                a[i+1] = t;
            }
        }
    }
            for(i = 0; i < 11; i++)
                printf("%d ", a[i]);
            printf("\n");
            return 0;
}


我把你的代碼粘貼後改了一下

“传说中的爷,武功在好也怕菜刀!!!!!!!!!!!!”
2011-12-23 02:47
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
回复 楼主 zhaoyao0323
for(i=1;i<=10-i;i++)改为 for(i=1;i<=9-j;i++)
2011-12-23 06:48
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
回复 楼主 zhaoyao0323
for(i=1;i<=10-i;i++)改为 for(i=1;i<=9-j;i++)看看行不行。
2011-12-23 06:48
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:1 
抱歉写错了,应该把for(i=1;i<=10-i;i++)改为 for(i=1;i<=10-j;i++)
2011-12-23 07:03
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:1 
#include<stdio.h>
main()
{
    int a[11];
     int i,j,t;
     printf("input the numbers\n");
     for(i=0;i<11;i++)
     scanf("%d",&a[i]);
      printf("\n");
      for(j=0;j<=9;j++)
      {
          for(i=j+1;i<=10;i++)
              if(a[i]<a[j])
              {t=a[i];a[i]=a[j];a[j]=t;}
      }
        for(i=0;i<11;i++)
              printf("%d ",a[i]);
}   
定义a[]数组是11个元素,给数组赋值时应该从a[0]元素开始,输出时也要考虑a[0],当然for()循环中i的起始值可以是0也可以是1,甚至可以是100 ,0时对应a[i], 1时对应a[i-1],100对应a[i-100].比较大小时以此类推。要注意比较的的次数。

[ 本帖最后由 有容就大 于 2011-12-23 08:12 编辑 ]

梅尚程荀
马谭杨奚







                                                       
2011-12-23 08:09
luojie5683
Rank: 2
来 自:重庆
等 级:论坛游民
帖 子:69
专家分:49
注 册:2011-10-10
收藏
得分:1 
#include<stdio.h>
main()
{
    int a[11];
     int i,j,t;
     printf("input the numbers\n");
     for(i=0;i<11;i++)
     scanf("%d",&a[i]);
      printf("\n");
      for(j=0;j<=9;j++)
      {
          for(i=j+1;i<=10;i++)
              if(a[i]<a[j])
              {t=a[i];a[i]=a[j];a[j]=t;}
      }
        for(i=0;i<11;i++)
              printf("%d ",a[i]);
}   
冒泡排序法,主要代码书上有,你可以背下来。
2011-12-23 17:04
快速回复:新手初学C语言,懂的请帮看看,,,
数据加载中...
 
   



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

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