用C语言解决以下问题:旭旭同学很想找一位德智体美劳全面发展的朋友,这样旭旭就可以学到很多东西,旭旭发布了交友标准之后,应者寥寥,于是旭旭同学不断修改自己的标准,你知道旭旭总共发布了多少交友标准吗? 输入格式: 输入若干个整数,表示标准的编号(编号在0~10000之间),用空格隔开,由于旭旭发布的标准太多,中间可能有重复的,重复的编号认为同是一个标准。 输出格式: 输出一个整数,表示旭旭共发布了多少交友标准。
时间: 2023-02-06 16:50:41 浏览: 125
以下是用 C 语言解决这个问题的方法:
1. 定义一个数组来存储所有输入的标准编号,并初始化数组的所有元素为 0。
2. 使用循环读取用户输入的每个标准编号。
3. 对于每一个输入的标准编号,将对应的数组元素设置为 1。
4. 使用变量 count 来记录所有输入的标准编号的个数,并在循环中将 count 加 1。
5. 最后,使用循环遍历数组,统计数组中所有值为 1 的元素个数,并输出这个数字。
下面是代码示例:
```
#include <stdio.h>
#define N 10001
int main()
{
int standards[N] = {0}; // 定义数组并初始化为 0
int num;
int count = 0; // 记录输入的标准编号个数
// 使用循环读取用户输入的标准编号
while (scanf("%d", &num) == 1)
{
standards[num] = 1; // 将对应的数组元素设置为 1
count++; // 将 count 加 1
}
// 统计标准编号个数
int result = 0;
for (int i = 0; i < N; i++)
{
if (standards[i] == 1)
{
result++;
}
}
printf("旭旭共发布了 %d 个交友标准。\n", result);
return 0;
}
```
希望这些内容能帮到你。
阅读全文