用C++编写程序从键盘输入10个整数到一维数组中,找出最大值以及最大值所在的位置并输出。

如题所述

#include <iostream>
using namespace std;
int main()
{
int a[10], i, max, min;
int maxpos = 0;
int minpos = 0;
for (i = 0; i < 10; i++)
{
cin >> a[i];
if (i > 0)
{
if (max < a[i])
{
max = a[i];
maxpos = i;
}
if (min > a[i])
{
min = a[i];
minpos = i;
}
}
else
{
max = a[0];
min = a[0];
}
}
cout << "最大值:" << max << "位置:" << maxpos << endl;
cout << "最小值:" << min << "位置:" << minpos << endl;
return 0;
}

扩展资料:

for循环的基本用法:

1、语句最简形式为:

for( ; ; )

2、一般形式为:

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。 

for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。

执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。


温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-21
#include <iostream>
using namespace std;
int main()
{
int a[10], i, max, min;
int maxpos = 0;
int minpos = 0;
for (i = 0; i < 10; i++)
{
cin >> a[i];
if (i > 0)
{
if (max < a[i])
{
max = a[i];
maxpos = i;
}
if (min > a[i])
{
min = a[i];
minpos = i;
}
}
else
{
max = a[0];
min = a[0];
}
}
cout << "最大值:" << max << "位置:" << maxpos << endl;
cout << "最小值:" << min << "位置:" << minpos << endl;
return 0;
}追问

完成上面的功能。要求找出最大值和位置用函数实现、、怎么做,谢谢了!!!

追答

#include
using namespace std;
void fun(int* a, int* max, int* maxpos, int* min, int* minpos)
{
int i;
for (i = 0; i 0)
{
if (*max a[i])
{
*min = a[i];
*minpos = i;
}
}
else
{
*max = a[0];
*min = a[0];
}
}
}
int main()
{
int a[10], i, max, min;
int maxpos = 0;
int minpos = 0;
for (i = 0; i > a[i];
}
fun(a, &max, &maxpos, &min, &minpos);
cout << "最大值:" << max << "位置:" << maxpos << endl;
cout << "最小值:" << min << "位置:" << minpos << endl;
return 0;
}

本回答被提问者采纳
第2个回答  2012-02-14
这道题怎么这么多人问啊。 我都回答好几次了。 唉呀。。。。。追问

...

相似回答