[关闭]
@iwktd981220 2017-11-12T01:00:47.000000Z 字数 1469 阅读 295

第9次实验作业

实验课


第9次实验课需要提交作业
本次作业需提交: 第4章的补充题“1”、“2”、“3”、“4”
第5章简答题“5”

第4章程序设计补充题:
【补充题1】输入两个正整数m和n,求其最大公约数和最小公倍数。
提示:找出既能整除m也能整除n的数就是最大公约数,用m和n的乘积除以最大公约数就是最小公倍数。
【补充题2】输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如153是一个水仙花数,因为153=1+125+27
【补充题3】猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。第2天早上又将剩下的桃子吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半另加一个。到第10天早上再想吃时,就只剩一个桃子了。求第1天共摘了多少个桃子。
第4章程序设计补充题:
【补充题4】两个乒乓球队进行比赛,各出3人。甲队为A,B,C 共3人,乙队为X,Y,Z也是3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比。请编程序找出3对赛手的名单。
picture
提示:采用三重循环结构进行比较,有条件:
1. 一个队员只能和对方的一人比赛;
2. A不和X比,C不和X,Y比。
在内循环-第三重循环中满足2个条件就输出A和i比,B和j比,C和k比。

第5章简答题
【3】用for循环实现下述整型数组的初始化操作。
Squares
picture

0     1     2      3     4     5      6      7     8     9     10

下面是代码:

  1. #include <iostream>
  2. #include <stdio.h>
  3. using namespace std;
  4. void task1() {
  5. int m,n;
  6. cin>>m>>n;
  7. if (m < n) {
  8. int temp = m;
  9. m = n;
  10. n = temp;
  11. }
  12. int j = n;
  13. for (; j >= 1; j--) {
  14. if (m % j ==0 && n %j == 0)break;
  15. }
  16. cout<<"the greatest common factor is ";
  17. j == 0? j = 1,cout<<j : cout<<j;
  18. cout<<"the lowest common multiple:";
  19. cout<< (m*n/j);
  20. }
  21. void task2() {
  22. int a[3];
  23. for (int i = 100; i <= 999; i++) {
  24. int num = i;
  25. int mul = 100;
  26. for (int j = 1; j <= 3; j++) {
  27. a[j-1] = num/mul;
  28. num -=a[j-1]*mul;
  29. mul /=10;
  30. }
  31. int x =((a[0]*a[0]*a[0])+(a[1]*a[1]*a[1])+(a[2]*a[2]*a[2]));
  32. if (i == x) cout<<i<<endl;
  33. }
  34. }
  35. void task3() {
  36. int num = 1;
  37. for (int i = 0; i < 9; i++) {
  38. num = (num+1)*2;
  39. }
  40. cout<<num<<endl;
  41. }
  42. void task4() {
  43. char a[3]={'X','Y','Z'};
  44. for(int i=0;i<3;i++)
  45. {
  46. for(int j=0;j<3;j++)
  47. {
  48. for(int t=0;t<3;t++)
  49. {
  50. if(i!=0 && t!=0 && t!=2 && i!=t && i!=j && t!=j)
  51. printf("A vs %c\nB vs %c\nC vs %c\n",a[i],a[j],a[t]);
  52. }
  53. }
  54. }
  55. }
  56. int main() {
  57. int task;
  58. cin>>task;
  59. switch (task) {
  60. case 1:task1();break;
  61. case 2:task2();break;
  62. case 3:task3();break;
  63. case 4:task4();break;
  64. }
  65. return 0;
  66. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注