C++:输入20个数,取最大最小值……
C++:输入20个数,取最大最小值……#include<iostream.h>#definesize20intmain(){inta[size],max,min;inti...
C++:输入20个数,取最大最小值……
#include <iostream.h>
#define size 20
int main()
{
int a[size],max,min;
int i,j;
cin>>a[size];
for(i=0;i<size;i++)
{
if(a[i]>a[j])
j=i;
}
cout<<"最大值为:"<<max<<endl;
max=a[j];
for(i=0;i<size;i++)
{
if(a[i]<a[j])
j=i;
}
min=a[j];
cout<<"最小值为:"<<min<<endl;
return 0;
}
大神为什么我输入一个数之后就程序出错了呢? 展开
#include <iostream.h>
#define size 20
int main()
{
int a[size],max,min;
int i,j;
cin>>a[size];
for(i=0;i<size;i++)
{
if(a[i]>a[j])
j=i;
}
cout<<"最大值为:"<<max<<endl;
max=a[j];
for(i=0;i<size;i++)
{
if(a[i]<a[j])
j=i;
}
min=a[j];
cout<<"最小值为:"<<min<<endl;
return 0;
}
大神为什么我输入一个数之后就程序出错了呢? 展开
展开全部
把cin>>a[size];改成cin>>a[i];放在for(i=0;i<size;i++)循环里一个一个地输入,数组是不能整体输入的,只能一个一个地输入数据。请记住数组的性质——它不是变量,是相同类型变量的集合。既然是变量的集合,你就只能一个变量一个变量地操作,数组只是把这些变量依次连续地存放在内存中,并提供了方便的寻址方法而已。
追问
那取最小值的那个循环怎么办?
追答
数据已经输入到数组里了,最小值的那个循环就不用管了,原来咋想的就咋办。为了不干扰你的思路,还是在cin>>a[size];处另建一处循环输入数据。前面的办法可少写一个循环,但我看你一下理解不了。用
for(i=0;i> a[i];
代替cin>>a[size];进行调试。
展开全部
#include <iostream.h>
#define size 20+5 //最好给给定数组大小留一个缓冲区
int main()
{
int a[size];int max,min=0;
int i;
for(i=0;i<20;i++) //存入20个数
{
cin>>a[i];
}
max=a[0];
for(i=0;i<19;i++) //循环比较19次
{
if(max<a[i+1]) //如果后一个数比max的大,更新max的值
max=a[i+1];
}
cout<<"最大值为:"<<max<<endl;
min=a[0];
for(i=0;i<19;i++) //同上原理
{
if(min>a[i+1])
min=a[i+1];
}
cout<<"最小值为:"<<min<<endl;
return 0;
}
#define size 20+5 //最好给给定数组大小留一个缓冲区
int main()
{
int a[size];int max,min=0;
int i;
for(i=0;i<20;i++) //存入20个数
{
cin>>a[i];
}
max=a[0];
for(i=0;i<19;i++) //循环比较19次
{
if(max<a[i+1]) //如果后一个数比max的大,更新max的值
max=a[i+1];
}
cout<<"最大值为:"<<max<<endl;
min=a[0];
for(i=0;i<19;i++) //同上原理
{
if(min>a[i+1])
min=a[i+1];
}
cout<<"最小值为:"<<min<<endl;
return 0;
}
追问
大神,牛!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cin>>a[size];这里就已经错了,size是20,数组越界了
追问
越界?不好意思我是菜鸟,大神能不能稍微解释下?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入数组用循环ba..
for(i=0;i<size,i++)
cin>>a[i];
a[size]是第21个数了
for(i=0;i<size,i++)
cin>>a[i];
a[size]是第21个数了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询