c语言如何统计一个数组中有几个不同的数
时间: 2023-06-19 16:03:32 浏览: 75
可以使用两层循环来遍历数组,用一个变量记录不同的数的个数,对于每个数,都与之前的数进行比较,如果不同则增加计数器。示例代码如下:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 2, 3, 1, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int count = 1; // 第一个数肯定不同,计数器从1开始
for (int i = 1; i < n; i++) {
int isDifferent = 1; // 假设这个数是不同的
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
isDifferent = 0; // 如果与之前的数相同,则不是不同的数
break;
}
}
if (isDifferent) {
count++; // 计数器加1
}
}
printf("不同的数的个数为%d\n", count);
return 0;
}
```
输出:
```
不同的数的个数为5
```
相关问题
c语言定义一个数组有哪几种方法
在 C 语言中,有多种方法可以定义一个数组。以下是几种常见的方法:
1. 静态初始化:在声明数组时,同时为其指定初始值。
```c
int arr1[5] = {1, 2, 3, 4, 5}; // 声明一个包含 5 个元素的整数数组,并初始化为 {1, 2, 3, 4, 5}
```
2. 动态初始化:在声明数组后,逐个为其元素赋值。
```c
int arr2[5]; // 声明一个包含 5 个元素的整数数组
arr2[0] = 1;
arr2[1] = 2;
arr2[2] = 3;
arr2[3] = 4;
arr2[4] = 5;
```
3. 部分初始化:在声明数组时,只为部分元素指定初始值,未指定的元素将被自动初始化为零。
```c
int arr3[5] = {1, 2}; // 声明一个包含 5 个元素的整数数组,并初始化前两个元素为 {1, 2},其余元素自动初始化为零
```
4. 字符串初始化:使用字符串常量来初始化字符数组。
```c
char str1[] = "Hello"; // 声明一个字符数组,并使用字符串常量 "Hello" 进行初始化
```
需要注意的是,上述方法中的数组大小必须与实际存储的元素个数相匹配。此外,C 语言还支持使用 `malloc()` 函数在堆上动态分配数组,以及通过结构体等复杂数据类型来定义数组。
从数组中随机抽取几个数 C语言
在C语言中,你可以使用rand()函数生成随机数,然后通过数组索引来随机抽取几个数。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int arraySize = sizeof(array) / sizeof(array[0]);
int numToPick = 3;
int picked[numToPick];
srand(time(0)); // 设置随机种子为当前时间
// 随机抽取几个数
for (int i = 0; i < numToPick; i++) {
int randomIndex = rand() % arraySize; // 生成随机索引
picked[i] = array[randomIndex];
}
// 打印抽取的数
printf("抽取的数为:");
for (int i = 0; i < numToPick; i++) {
printf("%d ", picked[i]);
}
return 0;
}
```
上述代码中,我们使用rand()函数生成一个0到数组大小-1之间的随机索引,然后将对应位置的元素存入picked数组中。最后,我们打印出抽取的数。需要注意的是,为了保证每次运行程序时得到不同的随机数序列,我们使用srand()函数将随机种子设置为当前时间。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)