用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数及其对应的数组下标值

 我来答
MyOpen
2019-05-23 · TA获得超过2861个赞
知道答主
回答量:68
采纳率:0%
帮助的人:4万
展开全部

解题思路:先键盘输入10个整数,假设数组的第1个是最大数max,同时设置最大值下标为0,接着for循环依次判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标,最后输出最大数和数组下标。

参考代码:

#include<stdio.h>

int main() {

int i,a[10],max,maxi;

//输入10个整数

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

{

scanf("%d",&a[i]);

}

//假设数组的第1个是最大数max,同时设置最大值下标为0

max=a[0];

maxi=0;

//for循环依次判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标

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

if(a[i]>max){

max=a[i];

maxi=i;

}

}

//输出最大数和数组下标

printf("最大数为:%d,数组下标为:%d",max,maxi);

return 0;

}

程序运行结果如下:

参考资料:

for循环遍历求数组中的最大值是最常用的方法,但还有一种方法就是循环链表的遍历;

首先需要创建数据域和指针域,回到mian函数中,创建三个节点,然后用头节点申请空间,再输入数据到头节点,最后用while语句,进行遍历链表。如下是循环链表遍历的实例:

void show(list *p) //遍历,循环链表的遍历最好用do while语句 ,因为头节点就有值

{

list *temp;

temp=p;

do

{

printf("%5d",temp->data);

temp=temp->next;

}

while(temp!=p);

printf("\n");

}

小星星教育知识分享
高粉答主

2019-12-08 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67130

向TA提问 私信TA
展开全部

#include"stdio.h"

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

intmain()

{

inti;

floatmax,min,num[10];

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

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

{

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

}

max=min=num[0];

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

{

if(max<num[i])

max=num[i];

elseif(min>num[i])

min=num[i];

}

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

return0;

}

扩展资料

从键盘向一维数组输入10个实数,并且计算最大值,最小值和平均值

#include<stdio.h>

#include<stdlib.h>

intmain()

{

inti=0;

intarray[10];

floatAVER=0.0;

floatSUM=0.0;

floatMAX=0.0;

floatMIN=0.0;

intCHOOSE=0;

while(CHOOSE<=3)

{

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

{

printf(“请任意输入10个额实数:\n”);

scanf("%d",array[i]);

}

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

{

SUM+=array[i];

printf(“总数和为=%f\n”,SUM);

}

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

{

AVER=SUM/10.0;

printf(“平均值为=%f\n”,AVER);

}

MAX=MIN=array[0];

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

{

if(array[i]>MAX)

{

MAX=array[i];

}

if(array[i]<MIN)

{

MIN=array[i];

}

}

printf(“最大值为=%f\n”,MAX);

printf(“最小值为=%f\n”,MIN);

}

system(“pause”);

return0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
985967518
2015-12-19 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109853
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

思路:先键盘输入一个数赋值给数组的第一个数,并且赋值给最大数max,同时设置最大值下标为0,接着for循环依次赋值给数组相应位置并判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标,最后输出最大数和最大数下标。

参考代码:

#include "stdio.h" 
int main() {
int i,a[10],max,maxi;
scanf("%d",&a[0]);
max=a[0];
maxi=0;
for(i=1;i<10;i++){
scanf("%d",&a[i]);
if(a[i]>max){
max=a[i];
maxi=i;
}

printf("最大数为:%d,最大数下标为:%d",max,maxi);
return 0;
}
/*
运行结果:(例如求5的阶乘) 
1 2 5 3 4 6 7 9 8 0
最大数为:9,最大数下标为:7
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dzb653374984
2013-05-17
知道答主
回答量:68
采纳率:0%
帮助的人:28.1万
展开全部
#include<stdio.h>
int main()
{
int i;
int max=0;
int index=0;
int a[10]={};
for(i=0;i<10;i++)
{
printf("请输入第%d个整数:",i+1);
scanf("%d",&a[i]);
if(a[i]>max)
{
max=a[i];
index=i;
}
}
printf("输入的最大的数是:%d,对应下标是:%d\n",max,index);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2b3bab9
高粉答主

2021-01-11 · 醉心答题,欢迎关注
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式