C语言随机生成十个0-100的数,用递归求和,选出最大的数?

如题所述

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define SIZE 10

// 使用递归计算数组的和

int sum(int arr[], int n) {

if (n == 0) {

return 0;

} else {

return arr[n - 1] + sum(arr, n - 1);

}

}

int main() {

int nums[SIZE];

int max = 0;

// 用系统时间作为随机数种子,确保每次运行程序时生成的随机数都不同

srand((unsigned)time(NULL));

// 随机生成10个0~100之间的整数,并计算它们的和

printf("生成的随机数为:");

for (int i = 0; i < SIZE; i++) {

nums[i] = rand() % 101;

printf("%d ", nums[i]);

// 找出最大值

if (nums[i] > max) {

max = nums[i];

}

}

// 计算数组的和

int total = sum(nums, SIZE);

printf("\n这些数的和为:%d\n", total);

printf("最大的数为:%d\n", max);

return 0;

}

温馨提示:答案为网友推荐,仅供参考