|
查看: 1013|回复: 5
|
C++功课问题。
[复制链接]
|
|
|
最近刚学习C++.
学校老师给的功课是如下:
可以让用户输入10个不同的整数(interger),然后可以就可以显示出最大以及最小的数目。
开始的cout cin那些我都还可以。可是到要分析出最大和最小的数目时候我就不知道要怎么写了。
老师说可以用到if else,for while 等等。
请问有谁可以教我怎么去分析10个不同的整数吗? |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 18-10-2008 08:27 PM
|
显示全部楼层
- #include
- using namespace std;
- int main()
- {
- int num1, num2, num3, num4, num5;
- int largest, smallest;
- cout<<"please enter first number: ";
- cin>>num1;
- cout<<"please enter second number: ";
- cin>>num2;
- cout<<"please enter third number: ";
- cin>>num3;
- cout<<"please enter fourth number: ";
- cin>>num4;
- cout<<"please enter fifth number: ";
- cin>>num5;
- if (num1>num2)
- {
- largest = num1;
- smallest = num2;
- }
- else
- {
- largest = num2;
- smallest = num1;
- }
- if (largest < num3);
- {
- largest = num3;
- }
- if (largest < num4);
- {
- largest = num4;
- }
- if (largest < num5);
- {
- largest = num5;
- }
- if (smallest > num3);
- {
- smallest = num3;
- }
- if (smallest > num4);
- {
- smallest = num4;
- }
- if (smallest > num5);
- {
- smallest = num5;
- }
- cout<< smallest <<":"<<largest<<endl;
- return 0;
- }
复制代码 以上是我从网络上看见的例子。就是用if else来找出最大最小的数目。可是感觉很长。请问还有其他方法吗?
[ 本帖最后由 冷血趙雲 于 18-10-2008 08:28 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 18-10-2008 09:27 PM
|
显示全部楼层
|
觉得这已经是最简单容易的了.....你一定要compare 全部才知道哪一个比较大和小的 |
|
|
|
|
|
|
|
|
|
|
发表于 19-10-2008 01:44 AM
|
显示全部楼层
- int numbers[10]; //holds the 10 integers
- int max, min;
- //find max
- max = numbers[0]
- for(int n=1; n<10; n++)
- {
- if(numbers[n] > max)
- max = number[n];
- }
- //find min
- min = numbers[0];
- for(int n=1; n<10; n++)
- {
- if(numbers[n] < min)
- min = numbers[n];
- }
复制代码 无责任宣言:
好像是这样子把,人老了可能有点糊涂,如果我的 min/max algorithm 错了,就请你自己自行摸索把,idea 大概就好像我写得那样啰
[ 本帖最后由 geekman 于 19-10-2008 01:48 AM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 19-10-2008 12:01 PM
|
显示全部楼层
回复 1# 冷血趙雲 的帖子
先sort array (如 bubble sort), 在拿头与尾的就可以了- #include <iostream>
- using namespace std;
- int main()
- {
- int a[10];
- int i,j;
- for( i = 0; i < 10; i++)
- {
- cout << "Enter " << i + 1 << " number : ";
- cin >> a[i];
- }
- for( i = 1; i < 10; i++)
- for( j = 0; j < 10 - i ; j++)
- if( a[j] > a[j + 1] )
- swap( a[j], a[j+1]);
- cout << "Max = " << a[9] << endl
- << "Min = " << a[0];
- return 0;
- }
复制代码 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 19-10-2008 06:58 PM
|
显示全部楼层
回复 5# onlylonly 的帖子
感谢onlylonly大大 和 geekman的教诲!
 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|