用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数及其对应的数组下标值
解题思路:先键盘输入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");
}
#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;
}
2015-12-19 · 知道合伙人教育行家
思路:先键盘输入一个数赋值给数组的第一个数,并且赋值给最大数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
*/
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;
}