| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1719 人关注过本帖
标题:输入10个数。求最大的两个数。怎么这样做不正确啊
只看楼主 加入收藏
赤道猪
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2012-9-14
收藏
得分:0 
#include <stdio.h>

int main ()
{
    int counter, largest, number,largest2,t;
    counter = 1;
   
    printf("请输入10个整数:");
    scanf("%d", &number);
    largest = number;
    largest2 = number;

    while (counter <= 9)
    {
        counter++;
        printf("请输入10个整数:");
        scanf("%d", &number);
        
        if (largest < number)
        {
            t=largest;
            largest = number;
            largest2 = t;
        }
    }

    printf("最大的两个数是%d\t%d\n", largest, largest2);
    return 0;
}
2012-11-16 21:40
赤道猪
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2012-9-14
收藏
得分:0 
你的输入太乱了,不用数组的话,就是一直出现那句请输入10个整数.....建议尽快学习了数组,写程序前先简单比画下流程。希望能帮到你。
2012-11-16 21:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你把各种可能出现的输入数据都试一下,看是不是总没有错误?

授人以渔,不授人以鱼。
2012-11-16 21:53
h70598
Rank: 2
等 级:论坛游民
帖 子:27
专家分:24
注 册:2012-11-13
收藏
得分:0 
哈哈~~!!!这个简单,我做出来啦~!!!
程序代码:
#include<stdio.h>
void main()
{
    int i,j1=0,j2=0,k;
    for(k=1;k<=10;k++)
    {
        printf("please input number %d:",k);
        scanf("%d",&i);
        if(i>j1){j2=j1;j1=i;}
        }
        printf("max number 1 is : %d.2 is : %d",j1,j2);
    }







我又疯了...

[ 本帖最后由 h70598 于 2012-11-16 22:11 编辑 ]
2012-11-16 22:04
h70598
Rank: 2
等 级:论坛游民
帖 子:27
专家分:24
注 册:2012-11-13
收藏
得分:4 
程序代码:
#include<stdio.h>
void main()
{
    int i,j1=0,j2=0,k;
    for(k=1;k<=10;k++)
    {
        printf("please input number %d:",k);
        scanf("%d",&i);
        if(i>=j1){j2=j1,j1=i;}
        if(i<j1&&i>j2)j2=i;
        }
        printf("max number 1 is : %d.2 is : %d\n",j1,j2);
    }
这回改对了吧?

问一下,我这个j1输出来为啥有小数点啊? 多少.2的

[ 本帖最后由 h70598 于 2012-11-16 22:35 编辑 ]
2012-11-16 22:34
菜鸟一只呀
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2012-10-30
收藏
得分:0 
回复 35楼 h70598
汗。。兄弟你printf("max number 1 is : %d.2 is : %d\n",j1,j2);//第一个%d后面多了个.2。所以输出的时候就回出现这种情况
2012-11-17 10:47
鱼欲语雨
Rank: 1
等 级:新手上路
帖 子:38
专家分:9
注 册:2012-9-27
收藏
得分:0 
#include <stdio.h>

int main ()
{
    int counter, largest, number,largest2;
    counter = 1;
   
    printf("请输入10个整数:");
    scanf("%d", &number);
    largest = number;
    largest2 = number;

    while (counter <= 9)
    {
        counter++;
        printf("请输入10个整数:");
        scanf("%d", &number);
        
        if (largest < number)
        {
            largest2=largest;
            largest = number;
        }
        else
        {
            if(number>largest2)
                largest2=number;
        }
    }

    printf("最大的两个数是%d\t%d\n", largest, largest2);
    return 0;
}


看看偶的
2012-11-17 11:28
kblk
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-11-17
收藏
得分:0 
回复 楼主 菜鸟一只呀
#include <stdio.h>

int main ()
{
    int counter, largest, number,largest2;
    counter = 1;
   
    printf("请输入10个整数:");
    scanf("%d", &number);
    largest = number;
    largest2 = number;

    while (counter <=9)
    {
        counter++;
        printf("请输入10个整数:");
        scanf("%d", &number);
        
        if (largest < number)
        {if(largest2<largest)
            largest2=largest;
        largest = number;}
            
    }

    printf("最大的两个数是%d\t%d\n", largest, largest2);
   
}
2012-11-17 11:29
kblk
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-11-17
收藏
得分:0 
加个括号,交换顺序就对了 。你这个return没看懂 有必要么?
2012-11-17 11:30
Berrysun
Rank: 1
来 自:浙江中医药大学
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-11-17
收藏
得分:0 
以下是引用TonyDeng在2012-11-16 20:16:41的发言:

你输入10个数了吗?
这个问的不错。。。。你才键盘输入了1个数,还传个两个参数,两个参数值就一样还去比较。。。。

没有伞的孩子,只能努力奔跑。
2012-11-17 12:16
快速回复:输入10个数。求最大的两个数。怎么这样做不正确啊
数据加载中...
 
   



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

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