3个回答
展开全部
#include<stdio.h>
int main()
{
int a[] = {1,2,3,4,5,6,7,8,9,10};
int max, min;
max = min = a[0]; //假设第1个元素即是最大值也是最小值。
int max_pos = 0, min_pos = 0;
//遍历数组,找出数组a中的最大数和最小数
for (int inx=0; inx!=sizeof(a) / sizeof(int); ++inx) {
if (a[inx]> max) max = a[inx], max_pos=inx;
else if (a[inx] < min) min = a[inx], min_pos=inx;
}
printf("最大数:%d\t它是第:%d个元素\n最小数:%d\t它是第:%d元素\n", max, max_pos +1 ,min, min_pos +1);
return 0;
}
展开全部
#include <stdio.h>
int main()
{
int i,max,min,maxnum,minnum;
int a[10] = {0};
for(i=0;i<10;i++)
{
printf("请输入第%d个数:",i+1);
scanf("%d",&a[i]);
}
max = min = a[0];
maxnum = minnum = 1;
for(i=1;i<10;i++)
{
if(a[i] > max)
{
max = a[i];
maxnum = i+1;
}
if(a[i] < min)
{
min = a[i];
minnum = i+1;
}
}
printf("最大的数为%d,是第%d个数\n",max,maxnum);
printf("最小的数为%d,是第%d个数\n",min,minnum);
return 0;
}
int main()
{
int i,max,min,maxnum,minnum;
int a[10] = {0};
for(i=0;i<10;i++)
{
printf("请输入第%d个数:",i+1);
scanf("%d",&a[i]);
}
max = min = a[0];
maxnum = minnum = 1;
for(i=1;i<10;i++)
{
if(a[i] > max)
{
max = a[i];
maxnum = i+1;
}
if(a[i] < min)
{
min = a[i];
minnum = i+1;
}
}
printf("最大的数为%d,是第%d个数\n",max,maxnum);
printf("最小的数为%d,是第%d个数\n",min,minnum);
return 0;
}
追问
有些不懂啊?怎么是int main?int a[10]只定义不赋值行吗?最后一个return 0
么意思?不胜感激
追答
main函数并不一定是要void型的
main函数也可以带返回值的
而且事实上int main的用法更多
比如单片机最后main程序运行完成
可以根据返回值来判断程序是否正常进行或者异常结束
习惯写int main是个好习惯
那个return 0 就是main函数的返回值
至于int a[10];定义的时候可以不初始化;
但是定义数据后先初始化一下这是好的习惯。
因为如果不初始化,定义了a[10];数组,那么它里面元素的初始值是不确定的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
伪代码
int a[10];
循环输入10个数
假设最大值max= min= a[0]; 都是第1个值
max_pos = min_pos = 0; 最大值位置为第一个
然后循环
从第1或者第2个一直比较大最后一个
期间如果比max大,就记录最大值到max, pos改为当前pos
同理比min小,记录最小值为min, pos改为当前pos
循环结束你要的就出来了
int a[10];
循环输入10个数
假设最大值max= min= a[0]; 都是第1个值
max_pos = min_pos = 0; 最大值位置为第一个
然后循环
从第1或者第2个一直比较大最后一个
期间如果比max大,就记录最大值到max, pos改为当前pos
同理比min小,记录最小值为min, pos改为当前pos
循环结束你要的就出来了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询