南城转暖 发表于 2021-6-20 18:19:19

有没有好心人帮着看一下孩子的作业

非指针方式完成
1.用随机函数产生10个0~100之内的整数,按从小到大排列输出
2.定义一个a的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号及列号。
3.定义一个3*3的整数数组,并且输出对角线元素之和
指针完成:
4.用随机函数产生10个0~100之内的整数,按从小到大排列输出
5.定义一个a的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号及列号。
6.定义一个3*3的整数数组,并且输出对角线元素之和
7.编写子函数,交换传入的两个实参的值。

x772010568 发表于 2021-6-20 18:19:20

不用指针
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

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

        for(i = 0; i < 10; i++)
        {
                num = rand() % 100;
        }
       
        for(i = 0; i < 10 - 1; i++)
                for(j = 0; j - i - 1; j++)
                {
                        if(num > num)
                        {
                                temp = num;
                                num = num;
                                num = temp;
                        }
                }

//定义一个a的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号
        int a;
        int max = 0;
        int row, column;
       
        for(i = 0; i < 5; i++)
                for(j = 0; j < 6; j++)
                {
                        a = rand() % 100;
                        if(max < a)
                        {
                                max = a;
                                row = i;
                                column = j;
                        }
                }

//定义一个3*3的整数数组,并输出对角元素之和
        int b;
        int sum = 0;
       
        for(i = 0; i < 3; i++)
                for(j = 0; j < 3; j++)
                {
                        b = rand() % 100;
               }
       
        sum = b + b + b + b + b + b;
//       
        printf("随机函数产生10个0~100之内的整数,按从大到小排列输出\n");
       
        for(i = 0; i < 10; i++)
        {
                printf("%d ", num);
        }
       
        printf("\n");
        printf("\n");
        printf("定义一个a的整数数组,用随机函数值填写每个单元,找出最大值的单元,输出其行号列号\n");
       
        printf("最大值 = %d\n", max);
        printf("行号 = %d \n列号 = %d", row+1, column+1);
       
        printf("\n");
        printf("\n");
        printf("定义一个3*3的整数数组,并输出对角元素之和\n");
       
        for(i = 0; i < 3; i++)
        {
                for(j = 0; j < 3; j++)
                {
                        printf("%d ", b);
                }
                printf("\n");
        }
       
        printf("对角元素之和 = %d", sum);
       
        return 0;
}

指针
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void Change(int *a, int *b);
void Change(int *a, int *b)
{
        int temp;
       
        temp = *a;
        *a = *b;
        *b = temp;
}

int main(void)
{
        srand((unsigned)time(NULL));       

//交换两个实参的值
        printf("交换两个实参的值\n");
        int num_1 = rand() % 100, num_2 = rand() % 100;
       
        printf("num_1 = %d, num_2 = %d\n", num_1, num_2);
       
        Change(&num_1, &num_2);
       
        printf("num_1 = %d, num_2 = %d\n", num_1, num_2);

       
        return 0;
}
初学,有问题请指出{:10_277:}

Gacy 发表于 2021-6-20 21:18:53

自己思考{:10_266:}
页: [1]
查看完整版本: 有没有好心人帮着看一下孩子的作业