编一个c++程序,输入十个数,输出最大值跟最小值.
using namespace std;
int min1( int num[10] )
{
int min1=num[0];
for( int i=1;i<=9;i++)
{
min1=num[i]<min1?num[i]:min1;
}
return min1;
}
int max1(int num [10])
{
int max1=num[0];
for(int j=1;j<=9;j++)
{
max1=max1>num[j]?max1:num[j];
}
return max1;
}
void main ()
{
int a[10],min,max;
cout<<"请输入十个数"<<endl;
cin>>a[10];
min=min1( a);
cout<<"最小值为"<<min<<endl;
max=max1(a);
cout<<"最大值为"<<max<<endl;
}
我的程序哪里出错了,为什么输出结果错的? 展开
#include<stdio.h>
int main()
{
int a[10],n,max,min,maxxiabiao,minxiabiao;
for(n=0;n<=9;n++)
{
scanf("%d",&a[n]);
}
max=min=a[0];
maxxiabiao=minxiabiao=0;
for(n=0;n<=9;n++)
{
if(a[n]>max)
{
max=a[n];
maxxiabiao=n;
}
else if(a[n]<min)
{
min=a[n];
minxiabiao=n;
}
}
printf("max=%d,xiabiao=%d\n",max,maxxiabiao);
printf("min=%d,xiabiao=%d\n",min,minxiabiao);
return 0;
}
运行效果:
扩展资料:
一、return在函数中的作用
我们如果将函数看做一个加工厂,参数就是我们向加工厂投入的原料,具体的函数功能实际上就是加工的过程,而return语句代表返回值,就是加工厂在实现加工之后给“投资人”的成品。
二、return语句的特点
1、在函数当中,遇到return语句之后就意味着函数运行的结束,在此之后的代码是不运行的。
2、它不支持任何运算也没有任何内建方法,和任何其他的数据类型比较是否相等时永远返回false,也可以将None赋值给任何变量。
3、执行到return语句时,会退出函数,return之后的语句不再执行。但将return语句放在try语句块中,是个例外。
三、return的默认值:return函数默认的返回值为undefined。
一个是你的输入10个数有问题,一个是判断用大于等于和小于等于,防止10个数里有重复的,我都帮你改了:
#include <iostream>
using namespace std;
int min1( int num[10] )
{
int min1=num[0];
for( int i=1;i<=9;i++)
{
min1=num[i]<=min1?num[i]:min1;
}
return min1;
}
int max1(int num [10])
{
int max1=num[0];
for(int j=1;j<=9;j++)
{
max1=max1>=num[j]?max1:num[j];
}
return max1;
}
int main ()
{
int a[10],min,max;
cout<<"请输入十个数"<<endl;
for (int i=0;i<10;i++)
{
cin>>a[i];
}
min=min1( a);
cout<<"最小值为"<<min<<endl;
max=max1(a);
cout<<"最大值为"<<max<<endl;
return 0;
}
#include <iostream>
using namespace std;
int main ()
{
int i, a[10]={0},min,max;
cout<<"请输入十个数"<<endl;
cin>>a[0]; //原代码中,cin>>a[10]错了。得逐个输入
min=max=a[0];
for(i=1;i<10;i++)
{
cin>>a[i];
if(min>a[i])
min=a[i];
if(max<a[i])
max=a[i];
}
cout<<"最小值为"<<min<<endl;
cout<<"最大值为"<<max<<endl;
return 0;
}
应该是
for(int i=0;i<10;i++)
{
cin>>a[i];
}
这样才会产生10个数
而且我觉得 你的数组参数好像也写的不对 改成int *num