c语言 输入10个数 找出最大数与最小数 并指出所在位置
答案:3 悬赏:0 手机版
解决时间 2021-02-05 13:42
- 提问者网友:溺爱和你
- 2021-02-05 06:55
c语言 输入10个数 找出最大数与最小数 并指出所在位置
最佳答案
- 五星知识达人网友:拜訪者
- 2021-02-05 07:55
#include
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 它是第:%d个元素
最小数:%d 它是第:%d元素
", max, max_pos +1 ,min, min_pos +1);
return 0;
}
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 它是第:%d个元素
最小数:%d 它是第:%d元素
", max, max_pos +1 ,min, min_pos +1);
return 0;
}
全部回答
- 1楼网友:不甚了了
- 2021-02-05 09:45
伪代码
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
循环结束你要的就出来了
- 2楼网友:一袍清酒付
- 2021-02-05 09:09
#include
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 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];数组,那么它里面元素的初始值是不确定的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯