c语言怎么求出除随机存放10个0-100值的数组内其他的值
时间: 2024-09-06 07:08:11 浏览: 28
在C语言中,你可以通过遍历数组并检查每个元素是否为0来找出非零值。这里是一个简单的步骤说明:
1. **声明数组和变量**:
```c
#include <stdio.h>
#include <stdlib.h> // 包含rand() 和 srand() 函数
int array[10]; // 定义一个包含10个元素的整数数组
int count_non_zeros = 0; // 记录非零元素的数量
```
2. **初始化数组**:
```c
srand(time(0)); // 初始化随机种子,保证每次程序运行结果不同
for (int i = 0; i < 10; i++) {
array[i] = rand() % 101; // 随机生成0到100之间的整数
}
```
3. **查找非零元素**:
```c
for (int i = 0; i < 10; i++) {
if (array[i] != 0) {
printf("%d ", array[i]); // 打印非零元素
count_non_zeros++; // 当找到一个非零元素时,计数器加1
}
}
printf("\nNon-zero elements found: %d\n", count_non_zeros); // 输出非零元素总数
```
4. **总结**:
这个程序会打印出所有非零的数组元素,并告诉你有多少个非零元素。
相关问题
用C语言.编写程序,随机生成20个0-100之间的数,放入数组中,求这20数的平均值
以下是用C语言编写的程序,可以随机生成20个0-100之间的数,放入数组中,并且计算这20个数的平均值:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 20 // 定义数组大小为20
int main()
{
int arr[ARRAY_SIZE]; // 定义存放20个数的数组
int i, sum = 0;
float avg;
srand((unsigned)time(NULL)); // 设置随机数种子
// 随机生成20个0-100之间的数,存放到数组中
for (i = 0; i < ARRAY_SIZE; i++) {
arr[i] = rand() % 101;
printf("%d ", arr[i]); // 打印生成的数
sum += arr[i]; // 求和
}
avg = (float)sum / ARRAY_SIZE; // 计算平均值
printf("\n平均值为:%.2f\n", avg); // 打印平均值,保留2位小数
return 0;
}
```
程序中用到了随机数函数`rand()`和时间函数`time()`。`rand()`函数生成的是一个0-32767之间的整数,为了生成0-100之间的数,需要使用`%`运算符取余数。`time()`函数用来设置随机数种子,以免每次运行程序生成的随机数都相同。最后,求平均值时要注意将求和的结果强制转换成`float`类型,以便得到精确的平均值。
c语言如何随机产生1-100的整数并存放在数组
可以使用C语言中的rand函数来生成随机数,再将随机数存入数组。具体实现方法如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[100]; // 定义存放随机数的数组
int i;
// 设置随机数种子
srand((unsigned)time(NULL));
// 生成100个1-100之间的随机数
for (i = 0; i < 100; i++) {
arr[i] = rand() % 100 + 1;
}
// 输出随机数数组
for (i = 0; i < 100; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
上述代码中,首先定义了一个长度为100的整型数组`arr`,然后使用`srand`函数设置随机数种子,接着使用`rand`函数生成100个1-100之间的随机数,并存入数组中。最后使用`for`循环遍历数组并输出随机数。