用C语言解决以下问题:旭旭同学很想找一位德智体美劳全面发展的朋友,这样旭旭就可以学到很多东西,旭旭发布了交友标准之后,应者寥寥,于是旭旭同学不断修改自己的标准,你知道旭旭总共发布了多少交友标准吗? 输入格式: 输入若干个整数,表示标准的编号(编号在0~10000之间),用空格隔开,由于旭旭发布的标准太多,中间可能有重复的,重复的编号认为同是一个标准。 输出格式: 输出一个整数,表示旭旭共发布了多少交友标准。 输入样例: 200 300 200 500 300 输出样例: 3
时间: 2023-02-06 13:09:04 浏览: 70
为了解决这个问题,我们可以使用一个数组来记录旭旭发布的标准,用一个整型变量来记录不同标准的数量。
首先,我们需要读入标准的编号,并将它存储在数组中。然后,我们可以遍历数组,并检查每个编号是否已经出现过。如果当前的编号没有出现过,我们就将不同标准的数量加1。最后,我们可以输出不同标准的数量,以得到旭旭共发布了多少交友标准。
以下是用 C 语言实现的代码示例:
```
#include <stdio.h>
#define MAX_NUM 10000
int main()
{
int standards[MAX_NUM + 1] = {0}; // 初始化为0
int num;
int count = 0;
while (scanf("%d", &num) != EOF) // 读入标准的编号
{
standards[num]++; // 将编号设为已出现过
}
for (int i = 0; i <= MAX_NUM; i++) // 遍历数组
{
if (standards[i] > 0) // 如果当前的编号已出现过
{
count++; // 将不同标准的数量加1
}
}
printf("%d\n", count); // 输出不同标准的数量
return 0;
}
```
上述代码中使用了一个数组来记录旭旭发布的标准,用一个整型变量来记录不同标准的数量。使用循环读入标准的编号,并将编号设为已出现过