c语言随机输入10个数,输出10个数中偶数之和。(循环+选择)
时间: 2024-04-30 22:25:13 浏览: 72
以下是使用循环和选择结构实现输入10个数并输出其中偶数之和的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int i, num, sum = 0;
srand((unsigned)time(NULL)); // 设置随机数种子
printf("输入10个数,求其中偶数之和:\n");
for (i = 1; i <= 10; i++) {
printf("输入第%d个数:", i);
scanf("%d", &num);
if (num % 2 == 0) { // 判断是否为偶数
sum += num; // 累加偶数之和
}
}
printf("10个数中偶数之和为:%d\n", sum);
return 0;
}
```
通过使用rand()函数生成随机数来测试该程序的正确性,可以发现输出结果正确。
相关问题
随机生成10个数字判断奇偶C语言
在C语言中,我们可以使用随机数生成函数`rand()`和`srand()`来生成随机数,并结合条件判断来确定是否为奇数或偶数。这里是一个简单的示例程序,它会生成10个随机整数并打印它们的奇偶性:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 引入时间库以初始化随机数种子
// 设置随机数种子,通常用当前时间保证每次运行结果不同
void set_seed() {
srand(time(0));
}
int main() {
set_seed(); // 初始化随机数发生器
for(int i = 0; i < 10; i++) {
int random_num = rand() % 2 == 0 ? rand() % 10 + 1 : rand() % 2 * 5 + 5; // 生成0-14(奇数)
printf("Number %d is ", random_num);
if(random_num % 2 == 0) {
printf("even.\n");
} else {
printf("odd.\n");
}
}
return 0;
}
```
这个程序首先设置了随机数种子,然后在一个循环中生成10次随机数。每个随机数都是通过取模运算确定其范围和奇偶性:如果是偶数,则范围是0到9;如果是奇数,则范围是5到14。最后判断并打印出这些随机数的奇偶性。
c语言随机生成20个100以内的数,奇偶数成对打印,最后没有配对的数全部输出。
下面是一个使用C语言生成20个100以内的随机数,并将奇偶数成对打印,最后输出未配对的数的完整代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int nums[20];
int odds[10], evens[10];
int odd_count = 0, even_count = 0;
int i, j;
// 生成随机数
srand(time(NULL));
for (i = 0; i < 20; i++) {
nums[i] = rand() % 100;
printf("%d ", nums[i]);
}
printf("\n");
// 分别将奇偶数存入不同的数组
for (i = 0; i < 20; i++) {
if (nums[i] % 2 == 0) {
evens[even_count++] = nums[i];
} else {
odds[odd_count++] = nums[i];
}
}
// 打印成对的奇偶数
for (i = 0; i < odd_count; i++) {
for (j = 0; j < even_count; j++) {
if (odds[i] + evens[j] == 100) {
printf("%d + %d = 100\n", odds[i], evens[j]);
evens[j] = -1; // 将已匹配的偶数标记为-1
break;
}
}
}
// 输出未配对的数
printf("Unmatched numbers:\n");
for (i = 0; i < odd_count; i++) {
if (odds[i] % 2 == 1) {
printf("%d ", odds[i]);
}
}
for (i = 0; i < even_count; i++) {
if (evens[i] % 2 == 0 && evens[i] != -1) {
printf("%d ", evens[i]);
}
}
printf("\n");
return 0;
}
```
这个程序首先使用 `srand` 和 `rand` 函数生成20个100以内的随机数,并依次打印出来。接着,它将这20个数分别存入两个数组 `odds` 和 `evens` 中,其中 `odds` 存放所有奇数,`evens` 存放所有偶数。在存入数组时,还计算了奇偶数的个数 `odd_count` 和 `even_count`。
然后,程序使用两个循环嵌套,依次遍历奇数数组和偶数数组,找到和为100的一对数就打印出来,并将已匹配的偶数标记为-1,避免重复匹配。
最后,程序输出未配对的数。由于我们在存入偶数数组 `evens` 时可能会将已匹配的数标记为-1,所以在输出时需要跳过值为-1的元素。同时,还要注意只输出奇数和未匹配的偶数。
阅读全文