标题:[求助]求十个数中最大的数
只看楼主
黑飞狐
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-11-12
 问题点数:0 回复次数:15 
[求助]求十个数中最大的数
#include"stdio.h"
main()
{
int a[10],i;
printf("input ten nubers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
if(a[i]>a[i+1])a[i+1]=a[i];
printf("%d",a[i+1]);
}
目的是打印出十个数中最大的数.但是程序有什么问题吗?就是不能得到正确的结果.如果把最后一行改为printf("%d",a[9]);又行.不知是为什么?请高手指点一下.

[此贴子已经被作者于2006-5-21 18:13:44编辑过]

搜索更多相关主题的帖子: 最大的 include 
2006-05-21 18:08
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
for(i=0;i<9;i++)
if(a[i]>a[i+1])a[i+1]=a[i];
printf("%d",a[i+1]);
问题大的很

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-21 18:16
黑飞狐
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-11-12
得分:0 
for(i=0;i<9;i++)
if(a[i]>a[i+1])a[i+1]=a[i];
printf("%d",a[i+1]);
能讲得具体点错在哪里吗?
for(i=0;i<9;i++)
if(a[i]>a[i+1])a[i+1]=a[i];/*先是a[0]与a[1]比较,如果a[0]大,就将a[0]的值赋给a[1],然后再将a[1]与a[2]比较.*/
printf("%d",a[i+1]);
应该没什么问题呀?能告诉我吗?谢谢了.

2006-05-21 18:40
黑飞狐
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-11-12
得分:0 
如果把a[i+1]改为a[i]好像就对了.是这样的吗?

[此贴子已经被作者于2006-5-21 18:44:18编辑过]


2006-05-21 18:43
xiaohuli120
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2006-4-10
得分:0 
"如果把a[i+1]改为a[i]"
--- 这样应该可以正常输出了,(刚才顺手试了一下)

2006-05-21 18:55
xiaohuli120
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2006-4-10
得分:0 
不过好象很少看到有人这么写,

2006-05-21 18:56
快乐一下
Rank: 1
等 级:新手上路
帖 子:268
专家分:0
注 册:2006-4-28
得分:0 
楼主你的程序最后把那最大的数送给了a[9]了,所以你只要把a[9]输出来就行了。

学习,充实自己。
2006-05-21 18:59
独角龙
Rank: 1
等 级:新手上路
帖 子:221
专家分:0
注 册:2006-5-5
得分:0 

#include"stdio.h"

int main(void)
{
int a[10], i, j, temp;

for ( i = 0; i < 10; i++)
{
printf("input one nubers:\n");
scanf("%d", &a[i]);

}

for (i = 0; i < 9; i++)
for (j = i + 1; j < 10; j++)
{
if (a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}

}

printf("%d\n", a[0]);
return 0;
}


奋斗改变一切!!
2006-05-21 19:04
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 

,真都要这么干

#include <stdio.h>
#include <conio.h>
#define N 10

int main(void)
{
int iarra[N], ia, imax;

for (ia = 0; ia < N; ia++)
{
scanf("%d", &iarra[ia]);
}

imax = iarra[0];

for (ia = 1; ia < N; ia++)
{
if (iarra[ia] > imax)
{
imax = iarra[ia];
}
}

printf("imax = %d\n", imax);

getch();
return 0;
}


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-21 19:44
黑飞狐
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2005-11-12
得分:0 

我这种算法是有点复杂.不过我只是想弄清数组的问题.数组挺不好学的.


2006-05-21 19:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-66058-1-1.html




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

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