求C语言 输入10个数 输出最大值

如题重要的是思路要带注释... 如题 重要的是思路 要带注释 展开
 我来答
拾趣世界
高粉答主

2018-12-15 · 分享新鲜事,感谢关注
拾趣世界
采纳数:11 获赞数:86027

向TA提问 私信TA
展开全部

C语言输入十个数的编程方法如下:

1.首先需要定义一个整型数组空间,因为这里需要输入十个数,所以数组空间为10个。

2.接着定义一个最大值Max,初始默认值为0,这个用于后续值的比较。

3.接着使用for循环,来连续接收10个数字的输入。

4.每次接收到一个数后,使用Max进行比较,如果比Max则将Max更新为更大的值。

5.循环结束后,输出最终的结果,也就是我们需要的10个数中的最大值。

6.最后运行程序,即可看到在调试窗口显示最终的结果。

阿豪呦1
2018-12-08 · TA获得超过9957个赞
知道答主
回答量:2
采纳率:0%
帮助的人:437
展开全部

这个问题涉及数组问题和循环语句,明确“打擂台”算法可以快速写出。

利用计算机在一批数中找出最大值的一般方法为:

1.将数据存入一个一维数组中,例如存入a数组中。

2.在数组中找最大值(假设用变量max存放最大数)。

(1)首先将a[0]视为最大数,即首先使max=a[0]。

(2)将除a[0]之外的其他元素(用a[i]表示)逐个与max比较,若a[i]>max,则a[i]为目前的最大数,使max=a[i]。在所有元素比较完之后,max即为最大数。

3.输出最大数(max的值)。

具体程序为:

#include<stdio.h>
int main()
{int i,max,data[10];//定义3个变量
for(i=0;i<10;i++)

scanf("%d",&data[i]); //输入10个整数
//打擂台算法,就是假设第一个数据是最大,并赋给max,然后看后面的数是否有
//大于max的,如果有,则将该数赋给max ,这样始终在max中存放最大的数。
max=data[0];

for(i=1;i<10;i++)//输入循环体
{ if(data[i]>max)
max=data[i];}
printf("\nmax num is:%d",max);//输出最大数
return 0;}

扩展资料:

所谓打擂台法,就是一种求最大值的方法,依次读入数据,按先后顺序存入一个变量,后读入的数与前面读入的数比,输出较大的一个。

例子:

var  a,b,temp:integer;

begin  temp:=0;readln(a,b);temp:=a;

if b>=temp then temp:=b,else temp:=a;

writeln(temp);

end.

因为像打擂台的时候一个一个上,赢得留下,输的下去,所以被称之为打擂台法。

参考资料:打擂台法_百度百科


本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
跪着作揖
高粉答主

2019-06-24 · 繁杂信息太多,你要学会辨别
知道答主
回答量:598
采纳率:100%
帮助的人:17.3万
展开全部

#include<stdio.h>

main()

{

int i,a,b;

int max,min;

int max=0,min=0; 

printf("please input 10 numbers:");

scanf("%d",&a);

max = a;

min = a;

for(i=2;i<=10;i++)

{

scanf("%d",&a);

if(a>max)

max=a;

if(b<min)

min=a;

}

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

扩展资料

使用其他方法找出10个数中的最大值并且输出:

#include "stdio.h"

//从键盘输入10个数存入一维数组,求这10个数中的最大值并输出

int main()

{

int i;

float max,min,num[10];

printf("请输入10个数,每输入一个数按回车键结束:\n");

for(i=0;i<10;i++){

scanf("%f",&num[i]);

}

max=num[0];

for(i=1;i<10;i++)

{   

if(max<num[i])

max=num[i];

else if(min>num[i])

min=num[i];

}

printf("最大为:%f\n,max);

return 0;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
物理公司的
2015-12-12 · TA获得超过5695个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1371万
展开全部
# include <stdio.h>

int main(void)
{
  int a[10];
  int b;
  int c = 0;                 //这个数记录的是最大值。给赋值为0也是个bug。应该赋值输入十个数的第一个数。
  printf("输入十个数\n");
  
  for(b=0;b<10;b++)
 {
  scanf("%d",&a[b]);  
  
  if(c<a[b]) c=a[b];    //把c和每个输入的数字进行比较,如果大于c,让c记录它的值,最后记录下来的值就是最大值了。
}
  
  printf("最大值%d\n",c);

  return 0;
  
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
出门在外好安宜
2015-12-12
知道答主
回答量:7
采纳率:0%
帮助的人:4.6万
展开全部
#include<stdio.h>
int main()
{
int i,max,data[10];
for(i=0;i<10;i++)
scanf("%d",&data[i]); //输入10个整数
//打擂台算法,就是假设第一个数据是最大,并赋给max,然后看后面的数是否有
//大于max的,如果有,则将该数赋给max ,这样始终在max中存放最大的数。
max=data[0];
for(i=1;i<10;i++)
{
if(data[i]>max)
max=data[i];
}
printf("\n最大数是:%d",max);
return 0;
}
追问
data[10]这个什么意思    []这个在c语言怎么用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式