| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1824 人关注过本帖
标题:来帮我改进这程序
只看楼主 加入收藏
qq839431011
Rank: 4
来 自:河北
等 级:业余侠客
帖 子:105
专家分:296
注 册:2012-12-5
收藏
得分:0 
我测试过通过了呀  帅哥  没有出现你出现的问题呀

穷则变,变则通,通则久 寂寞平淡
2012-12-12 09:11
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
基本上是这样做了,谢谢!

新手发言,请多指教!
2012-12-12 16:43
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 21楼 qq839431011
你输下这样的一组数
8 9 8 7 6 5 4 8 7 4看看!我输得结果是这样
图片附件: 游客没有浏览图片的权限,请 登录注册

新手发言,请多指教!
2012-12-12 16:49
lijiale1994
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:22
专家分:21
注 册:2012-12-10
收藏
得分:0 
#include "stdio.h"
#define N 10
void main()
{
 int array[N],i,max,second_max;
 for(i=0;i<n;i++)
  scanf("%d",&array[i]);
 max=second_max=array[0];
 for(i=0;i<n;i++)
  if(array[i]>max)
   max=array[i];
 for(i=0;i<n;i++)
 if(array[i]!=max)
  if(array[i]>=second_max)
   second_max=array[i];
 printf("second_max=%d\t max=%d\n",second_max,max) ;
}
现在因该没有问题了,不过还是很麻烦啊,
因为我代码前面两个数初始化为 -999,都初始化为最大数就不用比较了

新手发言,说错勿怪!
</n;i++)
</n;i++)
</n;i++)

新人发言,多多谅解
2012-12-16 23:16
胡沥沥
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:17
专家分:12
注 册:2012-11-5
收藏
得分:0 
等我中午回来给你用冒泡排序排出来
2012-12-17 09:53
洪荒一鼎
Rank: 2
等 级:论坛游民
帖 子:34
专家分:46
注 册:2012-6-27
收藏
得分:0 
偷懒了下,嘿嘿! 在21楼的基础上改了下!
程序代码:
#include<stdio.h>
#define N 10

 int main()

 {
     int max,second_max,a[N],i,b;
       for (i=0;i<10;i++)
           scanf("%d",&a[i]);
           max=a[0];
           second_max=a[1];
           if (a[0]<a[1])
           {
               max=a[1];
               second_max=a[0];
           }

           for (i=2;i<10;i++)
           {
               if(a[i]>=max)
               {
                   max=a[i];
               }
               else if(a[i]>=second_max)
               
                   second_max=a[i];
               
           }
           printf("max=%d,second_max=%d",max,second_max);

 }

不知道,不懂,知道,了解,懂,精通
2012-12-17 10:34
胡沥沥
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:17
专家分:12
注 册:2012-11-5
收藏
得分:0 
程序如下:
#include<stdio.h>
#define N 10

    int main()
    {
        int a[10],i,j,t;
        printf("输入数据");
        for(i=0;i<N;i++)
            scanf("%d",&a[i]);
        printf("\n");
        for(j=0;i<N-i;j++)
            for(i=0;i<N-1-j;i++)
                if(a[i]>a[i+1])
                {
                t=a[i];a[i]=a[i+1];a[i+1]=t;
                }

    printf("最大数和最小数依次是%d %d",a[9],a[8]);
    return 0;
    }

采用冒泡排序法   希望对你有用。
2012-12-17 12:31
胡沥沥
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:17
专家分:12
注 册:2012-11-5
收藏
得分:0 
回复 26楼 洪荒一鼎
哥哥你用的int main()怎莫没有返回值   你打掉了吧
2012-12-17 12:33
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 26楼 洪荒一鼎
很好的答案

新手发言,请多指教!
2013-01-11 15:08
LTF461807914
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-12
收藏
得分:0 
#include<stdio.h>
 int main()
 {
     int a[10],i,max,nmax,j,n;
         for(i=0;i<10;i++)
             scanf("%d",&a[i]);
         a[0]=max=nmax;
         for(j=0;j<10;j++)
         {
             if(a[j]>max)
                 max=a[j];
         }
         
         for(n=0;n<10;n++)
         {
             if((a[n]>nmax)&&(a[n]<max))
                 nmax=a[n];
         }
         printf("%d",nmax);
         printf("\n");
 return 0;
 }

nmax是次大值~
2013-01-12 16:57
快速回复:来帮我改进这程序
数据加载中...
 
   



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

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