c语言生成1-20之间的10个不重复整数,并且10个数求和
时间: 2023-06-03 09:03:36 浏览: 69
好的,我可以帮您解决这个问题。以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 20 // 最大数值
#define NUM_COUNT 10 // 数组长度
int main() {
int arr[NUM_COUNT] = {0}; // 数组,长度为 NUM_COUNT
int sum = 0; // 数组中元素的和
int i, j; // 循环计数器
srand((unsigned)time(NULL)); // 以当前时间作为随机数种子,避免每次运行生成的数相同
for (i = 0; i < NUM_COUNT; i++) {
int num = rand() % MAX_NUM + 1; // 生成范围为 1-20 的随机数
// 判断是否与之前的数重复
for (j = 0; j < i; j++) {
if (num == arr[j]) {
i--; // 需要重新生成当前数
break;
}
}
// 数组中不存在当前数,加入数组,并计算当前数的和
if (j == i) {
arr[i] = num;
sum += num;
}
}
// 输出数组和总和
printf("十个不重复整数为:");
for (i = 0; i < NUM_COUNT; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("这十个数的和为:%d\n", sum);
return 0;
}
```
我希望这个回答对您有所帮助。