佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 970|回复: 5

C++功课问题。

[复制链接]
发表于 18-10-2008 08:24 PM | 显示全部楼层 |阅读模式
最近刚学习C++.
学校老师给的功课是如下:
可以让用户输入10个不同的整数(interger),然后可以就可以显示出最大以及最小的数目。

开始的cout cin那些我都还可以。可是到要分析出最大和最小的数目时候我就不知道要怎么写了。
老师说可以用到if else,for while 等等。

请问有谁可以教我怎么去分析10个不同的整数吗?
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 18-10-2008 08:27 PM | 显示全部楼层
  1. #include
  2. using namespace std;

  3. int main()
  4. {
  5. int num1, num2, num3, num4, num5;
  6. int largest, smallest;

  7. cout<<"please enter first number: ";
  8. cin>>num1;

  9. cout<<"please enter second number: ";
  10. cin>>num2;

  11. cout<<"please enter third number: ";
  12. cin>>num3;

  13. cout<<"please enter fourth number: ";
  14. cin>>num4;

  15. cout<<"please enter fifth number: ";
  16. cin>>num5;

  17. if (num1>num2)
  18. {
  19. largest = num1;
  20. smallest = num2;
  21. }
  22. else
  23. {
  24. largest = num2;
  25. smallest = num1;
  26. }

  27. if (largest < num3);
  28. {
  29. largest = num3;
  30. }

  31. if (largest < num4);
  32. {
  33. largest = num4;
  34. }

  35. if (largest < num5);
  36. {
  37. largest = num5;
  38. }


  39. if (smallest > num3);
  40. {
  41. smallest = num3;
  42. }

  43. if (smallest > num4);
  44. {
  45. smallest = num4;
  46. }

  47. if (smallest > num5);
  48. {
  49. smallest = num5;
  50. }

  51. cout<< smallest <<":"<<largest<<endl;

  52. return 0;
  53. }
复制代码
以上是我从网络上看见的例子。就是用if else来找出最大最小的数目。可是感觉很长。请问还有其他方法吗?

[ 本帖最后由 冷血趙雲 于 18-10-2008 08:28 PM 编辑 ]
回复

使用道具 举报

发表于 18-10-2008 09:27 PM | 显示全部楼层
觉得这已经是最简单容易的了.....你一定要compare 全部才知道哪一个比较大和小的
回复

使用道具 举报

发表于 19-10-2008 01:44 AM | 显示全部楼层
  1. int numbers[10]; //holds the 10 integers
  2. int max, min;

  3. //find max
  4. max = numbers[0]
  5. for(int n=1; n<10; n++)
  6. {
  7.    if(numbers[n] > max)
  8.         max = number[n];
  9. }

  10. //find min
  11. min = numbers[0];
  12. for(int n=1; n<10; n++)
  13. {
  14.     if(numbers[n] < min)
  15.         min = numbers[n];
  16. }
复制代码
无责任宣言:
好像是这样子把,人老了可能有点糊涂,如果我的 min/max algorithm 错了,就请你自己自行摸索把,idea 大概就好像我写得那样啰

[ 本帖最后由 geekman 于 19-10-2008 01:48 AM 编辑 ]
回复

使用道具 举报

发表于 19-10-2008 12:01 PM | 显示全部楼层

回复 1# 冷血趙雲 的帖子

先sort array (如 bubble sort), 在拿头与尾的就可以了
  1. #include <iostream>

  2. using namespace std;

  3. int main()
  4. {
  5.     int a[10];

  6.     int i,j;

  7.     for( i = 0; i < 10; i++)
  8.     {
  9.         cout << "Enter " << i + 1 << " number : ";
  10.         cin >> a[i];
  11.     }

  12.     for( i = 1; i < 10; i++)
  13.         for( j = 0; j < 10 - i ; j++)
  14.             if( a[j] > a[j + 1] )
  15.                 swap( a[j], a[j+1]);

  16.     cout << "Max = " << a[9] << endl
  17.          << "Min = " << a[0];

  18.     return 0;

  19. }
复制代码
回复

使用道具 举报

 楼主| 发表于 19-10-2008 06:58 PM | 显示全部楼层

回复 5# onlylonly 的帖子

感谢onlylonly大大 和 geekman的教诲!
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 23-12-2025 01:18 AM , Processed in 0.134106 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表