编写程序,输入10个整数存入一个整型数组中,然后遍历该数组,找出其中的最大值和最小值,并输出#include <iostream> using namespace std; #define size 10 int main() { /********* Begin *********/ int a[size]; int max; int min; for(int i=0;i<size;i++) { cin>>a[i+1]; } for(int i=0;i<10;i++) { if(a[i+1]>=a[i]) { max=a[i+1]; a[i]=a[i+1]; max=a[i+1]; } else { a[i+1]=a[i]; } } cout<<max<<' '; for(int i=0;i<10;i++) { if(a[i+1]>=a[i]) { min=a[i]; a[i+1]=a[i]; min=a[i+1]; } else { a[i]=a[i+1]; } } cout<<min; /********* End *********/ return 0; }这个c++代码有什么问题
时间: 2023-06-20 08:07:23 浏览: 139
7个实用的Java编程题-李兴华.doc
这段代码有以下问题:
1.在输入数组元素时,应该是`cin>>a[i]`而不是`cin>>a[i+1]`,因为数组下标是从0开始的。
2.在查找最大值和最小值时,if语句中的条件应该是`a[i+1]>max`和`a[i+1]<min`,而不是`a[i+1]>=a[i]`和`a[i+1]<=a[i]`,因为需要比较的是数组元素的值而不是下标。
3.在查找最大值和最小值时,交换元素的代码应该是`a[i+1]=max;`和`a[i+1]=min;`,而不是`a[i]=a[i+1];`和`a[i]=a[i+1];`,因为需要将找到的最大值和最小值保存下来。
下面是修改后的代码:
阅读全文