| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 790 人关注过本帖
标题:令人费解的题目
只看楼主 加入收藏
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
 问题点数:0 回复次数:10 
令人费解的题目
目的是 把最大的数换到第一位 其他的不变
main()
{ int j,t,i,k,max;
  int a[10]={3,6,9,8,5,2,1,4,7,5};
   max=0;
  for(j=0;j<=9;j++)   
         for(i=1;i<=9;i++)
         if(a[i]>a[max])
            max=i;           
   t=a[0];
   a[0]=a[max];
   a[max]=t;
   
 for(k=1;k<=9;k++)
   printf("%3d",a[k]);
  getch();
}

为什么 最大的数被换丢了啊!
搜索更多相关主题的帖子: max 其他 最大的 
2005-08-16 15:26
jimmya1982
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-8-13
收藏
得分:0 
数组,俺还没看到呢~

我是菜鸟,请大家多多照顾~
2005-08-16 15:30
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
晕倒~
     我也是刚看到的!

2005-08-16 15:59
达达
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-5-26
收藏
得分:0 
以下是引用wenyong在2005-8-16 15:26:12的发言: 目的是 把最大的数换到第一位 其他的不变 main() { int j,t,i,k,max; int a[10]={3,6,9,8,5,2,1,4,7,5}; max=0; for(j=0;j<=9;j++) /*这里的双重循环多余*/ for(i=1;i<=9;i++) if(a[i]>a[max]) max=i; t=a[0]; a[0]=a[max]; a[max]=t; /*把最大的数置换到a[0]*/ /**/for(k=1;k<=9;k++) /*这里你自己只要输入9个数么!~~~当然第一个数就没有拉 */ printf("%3d",a[k]); getch(); } 为什么 最大的数被换丢了啊!
要仔细认真啊!~!~

2005-08-16 17:48
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 
main()
{ int j,t,i,k,max;
  int a[10]={3,6,9,8,5,2,1,4,7,5};
   max=0;
  for(j=0;j&lt;=9;j++)
         for(i=1;i&lt;=9;i++)
         if(a[i]&gt;a[max])
            max=i;           
   t=a[0];
   a[0]=a[max];
   a[max]=t;
   
    /**/for(k=0;k&lt;=9;k++)
   printf("%3d",a[k]);
  getch();
}

中国人的财富网:http://www..cn/
2005-08-16 18:00
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
还是集体的力量大 智慧广 啊!

2005-08-17 08:59
fightking
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-8-9
收藏
得分:0 
这只能将最大的数换到第一位,但是其他数会变的阿
2005-08-17 21:37
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
收藏
得分:0 
其他的数不会变的  

2005-08-18 08:45
sunllcom
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-7-23
收藏
得分:0 
#include <stdio.h> void main() { int a[10]={3,5,6,1,3,4,8,9,13,1}; int i,j,max,flag=0; printf("原始顺序:\n"); for(j=0;j<10;j++) printf("%3d",a[j]); for(i=0;i<10;i++) { for(j=i+1;j<10;j++) { if(a[i]>a[j]) { max=a[i]; flag=1; } else { flag=0; break; } } if(flag==1) break; } printf("\n最大值在前面顺序:\n"); file://三种情况的排序 if(i==0) { for(j=0;j<10;j++) printf("%3d",a[j]); printf("\n"); } if(i==10) { max=a[9]; for(j=9;j>0;j--) { a[j]=a[j-1]; } a[0]=max; for(j=0;j<10;j++) printf("%3d",a[j]); printf("\n"); } if(i!=0&&i!=10) { for(j=i;j>0;j--) { a[j]=a[j-1]; } a[0]=max; for(j=0;j<10;j++) printf("%3d",a[j]); printf("\n"); } } 兄弟,供参考,刚编的不足的请指出.循环的地方还可以优化!

2005-08-18 17:59
fzjz08
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-8-29
收藏
得分:0 
上楼的兄弟,你在做什么啊???????? 看不懂得啊

2005-08-29 23:29
快速回复:令人费解的题目
数据加载中...
 
   



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

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