| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 43120 人关注过本帖, 1 人收藏
标题:C语言经典程序,输入10个数输出其中最大的一个数
只看楼主 加入收藏
yuhaibinhf
Rank: 2
等 级:论坛游民
帖 子:34
专家分:29
注 册:2011-4-7
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:24 
C语言经典程序,输入10个数输出其中最大的一个数
今天学到第二章结尾,碰到一道题“输入10个数,并输出其中最大的数”(万恶的难度提前的练习
。。。解题。。。总是错误,没办法去百度,结果粘贴了不少,却仍是编译错误,来到论坛看到有一个这样的帖子,里面的答案虽然思路正确,但仍通不过编译。
汗。。。我用的是 VC++6.0 ,也许系统的缘故吧!
最后没办法,只好自己埋头苦干,在看了书中 数组 的部分内容和练习后,终于满头大汗的编译通过(谭浩强老师的书就是好
现把程序代码 和 说明发下,如果有碰到这个难题的朋友和童鞋,一起分享下,相互交流才能共同进步嘛!!!
#include<stdio.h>                              //方法为 起泡法
void main()
{
    int a[10];
    int i, j, t;
    printf("Please input the number 10 : \n");  //请输入10个数
    for (i=0; i<10; i++)
        scanf("%d",&a[i]);
    printf("\n");
    for (j=0; j<9; j++)                         //进行9次循环,实现9趟比较(注:因为数组a[10]中是不存在下标 10 的)
        for(i=0; i<9-j; i++)                    //在每一趟中进行9-j次比较(注:每一趟下标从0~9 还是10个数)
            if(a[i]>a[i+1])                     //相邻两个数比较
            {
                t=a[i];                         //t、a[i]、a[i+1]相互赋值
                a[i+1]=t;
            }
            printf("The shop for :%d\n",t);     //输出赋值后的 t
            printf("Thank you for your use! \n");

        
}
在我的VC++6.0 完美通过。。。
搜索更多相关主题的帖子: C语言 百度 经典 朋友 
2011-04-08 11:15
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
在本论坛搜索关键字【最大数】, 有N多种方案

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-08 11:21
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:1 
如果只需要输出最大值,上面的方法就太多余了
#include <cstdio>

int main ()
{
    int n;  //输入的个数
    int a[100];  //储存输入的数
    int s;  //最大值
    printf("请输入个数:");
    scanf("%d",&n);
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    s=a[0];      
    for(i=1;i<n;i++)
    {
        if(a[i]>s)
            s=a[i];  //然后依次从第二个数与当前最大值比较,大于就替换。
    }
    printf("最大值是:%d\n",s);
    return 0;
}

我的地盘
2011-04-08 11:39
yuhaibinhf
Rank: 2
等 级:论坛游民
帖 子:34
专家分:29
注 册:2011-4-7
收藏
得分:0 
回复 3楼 hnuhsg1226
3 楼的解比我的好多了,谢谢,借鉴啦,刚学不久,以后请多帮忙
2011-04-08 11:52
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:0 
回复 4楼 yuhaibinhf
呵呵,我也只是刚入门而已

我的地盘
2011-04-08 12:37
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:1 
程序代码:
#include <stdio.h>

int main() {
    int i;
    foat j, k;
    printf("How many numbers do you want to input? ");
    scanf("%d", i);
    printf("Pease input %d numbers.\n", i);
    printf("> ");
    scanf("%d", &k);
    for (; i >  1; i--) {
        printf("> ");
        scanf("%d", &j);
        if (j > k) {
            k = j;
        }
    }
    prinf("The biggest number is %d\n", k);
    return 0;
}


[ 本帖最后由 voidx 于 2011-4-8 13:53 编辑 ]
2011-04-08 13:10
张敏樱木花道
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:137
注 册:2011-3-26
收藏
得分:1 
多交流才会进步快……
2011-04-08 13:42
yuhaibinhf
Rank: 2
等 级:论坛游民
帖 子:34
专家分:29
注 册:2011-4-7
收藏
得分:0 
回复 7楼 张敏樱木花道
6 楼的程序 运行出错,没太看明白
2011-04-08 13:49
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
不好意思,之前漏掉一个 ;

思路就是把第一个输入的数字放进变量 k 里面,之后每读取一个数字就和变量 k 比较,保证 k 是已经输入的所有数字中最大的。
所有数字输入之后 k 自然也就是最大值。printf() 就可以了。

[ 本帖最后由 voidx 于 2011-4-8 13:56 编辑 ]
2011-04-08 13:54
DIM_ty
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2011-4-8
收藏
得分:1 
恩,学习学习。。。。
2011-04-08 13:57
快速回复:C语言经典程序,输入10个数输出其中最大的一个数
数据加载中...
 
   



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

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