|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int s[12] = {1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3};
int c[5] = {0};
int i;
for (i = 0; i < 12; i++)
c[s[i]]++;
for (i = 0; i < 5; i++)
printf("%d", i, c[i]);
printf("\n");
return 0;
}
运行的结果
这段代码有几个问题。首先,你不能在声明变量时使用花括号初始化整型变量。正确的写法是将花括号内的值逐个赋给数组元素,或者在声明数组时直接用花括号括起来赋值。
其次,在第一个for循环中,你应该使用s[i]而不是s作为下标来访问数组元素。另外,你应该将c[s[i]]++放在循环体内,而不是循环条件后面的花括号中。
最后,在第二个for循环中,printf函数的格式字符串中使用了%d两次,但却只传入了i一个参数。正确的写法应该是printf("%d", c[i])。
下面是修复后的代码:
- #include <stdio.h>
- int main()
- {
- int s[] = {1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3};
- int c[5] = {0};
- int i;
- for (i = 0; i < 12; i++)
- c[s[i]]++;
-
- for (i = 0; i < 5; i++)
- printf("%d ", c[i]);
- printf("\n");
-
- return 0;
- }
复制代码
这样,程序将会输出每个数字出现的次数。希望对你有帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
|
|