鱼C论坛

 找回密码
 立即注册
查看: 2463|回复: 2

[已解决]有没有好心人帮着看一下孩子的作业

[复制链接]
发表于 2021-6-20 18:19:19 | 显示全部楼层 |阅读模式
33鱼币
非指针方式完成
1.用随机函数产生10个0~100之内的整数,按从小到大排列输出
2.定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号及列号。
3.定义一个3*3的整数数组,并且输出对角线元素之和
指针完成:
4.用随机函数产生10个0~100之内的整数,按从小到大排列输出
5.定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号及列号。
6.定义一个3*3的整数数组,并且输出对角线元素之和
7.编写子函数,交换传入的两个实参的值。
最佳答案
2021-6-20 18:19:20
不用指针
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>

  4. int main(void)
  5. {
  6. //用随机函数产生10个0~100之内的整数,按从大到小排列输出       
  7.         int num[10], i, j, temp;
  8.        
  9.         srand((unsigned)time(NULL));       

  10.         for(i = 0; i < 10; i++)
  11.         {
  12.                 num[i] = rand() % 100;
  13.         }
  14.        
  15.         for(i = 0; i < 10 - 1; i++)
  16.                 for(j = 0; j - i - 1; j++)
  17.                 {
  18.                         if(num[i] > num[i + 1])
  19.                         {
  20.                                 temp = num[i];
  21.                                 num[i] = num[i + 1];
  22.                                 num[i + 1] = temp;
  23.                         }
  24.                 }

  25. //定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号
  26.         int a[5][6];
  27.         int max = 0;
  28.         int row, column;
  29.        
  30.         for(i = 0; i < 5; i++)
  31.                 for(j = 0; j < 6; j++)
  32.                 {
  33.                         a[i][j] = rand() % 100;
  34.                         if(max < a[i][j])
  35.                         {
  36.                                 max = a[i][j];
  37.                                 row = i;
  38.                                 column = j;
  39.                         }
  40.                 }

  41. //定义一个3*3的整数数组,并输出对角元素之和
  42.         int b[3][3];
  43.         int sum = 0;
  44.        
  45.         for(i = 0; i < 3; i++)
  46.                 for(j = 0; j < 3; j++)
  47.                 {
  48.                         b[i][j] = rand() % 100;
  49.                  }
  50.        
  51.         sum = b[0][0] + b[1][1] + b[2][2] + b[0][2] + b[1][1] + b[2][0];
  52. //       
  53.         printf("随机函数产生10个0~100之内的整数,按从大到小排列输出\n");
  54.        
  55.         for(i = 0; i < 10; i++)
  56.         {
  57.                 printf("%d ", num[i]);
  58.         }
  59.        
  60.         printf("\n");
  61.         printf("\n");
  62.         printf("定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号\n");
  63.        
  64.         printf("最大值 = %d\n", max);
  65.         printf("行号 = %d \n列号 = %d", row+1, column+1);
  66.        
  67.         printf("\n");
  68.         printf("\n");
  69.         printf("定义一个3*3的整数数组,并输出对角元素之和\n");
  70.        
  71.         for(i = 0; i < 3; i++)
  72.         {
  73.                 for(j = 0; j < 3; j++)
  74.                 {
  75.                         printf("%d ", b[i][j]);
  76.                 }
  77.                 printf("\n");
  78.         }
  79.        
  80.         printf("对角元素之和 = %d", sum);
  81.        
  82.         return 0;
  83. }
复制代码


指针
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>

  4. void Change(int *a, int *b);
  5. void Change(int *a, int *b)
  6. {
  7.         int temp;
  8.        
  9.         temp = *a;
  10.         *a = *b;
  11.         *b = temp;
  12. }

  13. int main(void)
  14. {
  15.         srand((unsigned)time(NULL));       

  16. //交换两个实参的值
  17.         printf("交换两个实参的值\n");
  18.         int num_1 = rand() % 100, num_2 = rand() % 100;
  19.        
  20.         printf("num_1 = %d, num_2 = %d\n", num_1, num_2);
  21.        
  22.         Change(&num_1, &num_2);
  23.        
  24.         printf("num_1 = %d, num_2 = %d\n", num_1, num_2);

  25.        
  26.         return 0;
  27. }
复制代码

初学,有问题请指出

最佳答案

查看完整内容

不用指针 指针 初学,有问题请指出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-20 18:19:20 | 显示全部楼层    本楼为最佳答案   
不用指针
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>

  4. int main(void)
  5. {
  6. //用随机函数产生10个0~100之内的整数,按从大到小排列输出       
  7.         int num[10], i, j, temp;
  8.        
  9.         srand((unsigned)time(NULL));       

  10.         for(i = 0; i < 10; i++)
  11.         {
  12.                 num[i] = rand() % 100;
  13.         }
  14.        
  15.         for(i = 0; i < 10 - 1; i++)
  16.                 for(j = 0; j - i - 1; j++)
  17.                 {
  18.                         if(num[i] > num[i + 1])
  19.                         {
  20.                                 temp = num[i];
  21.                                 num[i] = num[i + 1];
  22.                                 num[i + 1] = temp;
  23.                         }
  24.                 }

  25. //定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号
  26.         int a[5][6];
  27.         int max = 0;
  28.         int row, column;
  29.        
  30.         for(i = 0; i < 5; i++)
  31.                 for(j = 0; j < 6; j++)
  32.                 {
  33.                         a[i][j] = rand() % 100;
  34.                         if(max < a[i][j])
  35.                         {
  36.                                 max = a[i][j];
  37.                                 row = i;
  38.                                 column = j;
  39.                         }
  40.                 }

  41. //定义一个3*3的整数数组,并输出对角元素之和
  42.         int b[3][3];
  43.         int sum = 0;
  44.        
  45.         for(i = 0; i < 3; i++)
  46.                 for(j = 0; j < 3; j++)
  47.                 {
  48.                         b[i][j] = rand() % 100;
  49.                  }
  50.        
  51.         sum = b[0][0] + b[1][1] + b[2][2] + b[0][2] + b[1][1] + b[2][0];
  52. //       
  53.         printf("随机函数产生10个0~100之内的整数,按从大到小排列输出\n");
  54.        
  55.         for(i = 0; i < 10; i++)
  56.         {
  57.                 printf("%d ", num[i]);
  58.         }
  59.        
  60.         printf("\n");
  61.         printf("\n");
  62.         printf("定义一个a[5][6]的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号\n");
  63.        
  64.         printf("最大值 = %d\n", max);
  65.         printf("行号 = %d \n列号 = %d", row+1, column+1);
  66.        
  67.         printf("\n");
  68.         printf("\n");
  69.         printf("定义一个3*3的整数数组,并输出对角元素之和\n");
  70.        
  71.         for(i = 0; i < 3; i++)
  72.         {
  73.                 for(j = 0; j < 3; j++)
  74.                 {
  75.                         printf("%d ", b[i][j]);
  76.                 }
  77.                 printf("\n");
  78.         }
  79.        
  80.         printf("对角元素之和 = %d", sum);
  81.        
  82.         return 0;
  83. }
复制代码


指针
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<time.h>

  4. void Change(int *a, int *b);
  5. void Change(int *a, int *b)
  6. {
  7.         int temp;
  8.        
  9.         temp = *a;
  10.         *a = *b;
  11.         *b = temp;
  12. }

  13. int main(void)
  14. {
  15.         srand((unsigned)time(NULL));       

  16. //交换两个实参的值
  17.         printf("交换两个实参的值\n");
  18.         int num_1 = rand() % 100, num_2 = rand() % 100;
  19.        
  20.         printf("num_1 = %d, num_2 = %d\n", num_1, num_2);
  21.        
  22.         Change(&num_1, &num_2);
  23.        
  24.         printf("num_1 = %d, num_2 = %d\n", num_1, num_2);

  25.        
  26.         return 0;
  27. }
复制代码

初学,有问题请指出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-20 21:18:53 | 显示全部楼层
自己思考
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 05:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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