【发布时间】:2019-03-24 18:35:36
【问题描述】:
我需要实现一个可以计算字符串中位数的函数,这是我的代码不起作用,我需要知道问题出在哪里。 int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
char s[100];
scanf("%s",s);
int i,j=0;
for(i=0;i<10;i++)
{
int freq=0;
while(s[j] != '\0')
{
if(s[j] == i +'0')
{
freq++;
}
j++;
}
printf("%d ",freq);
}
return 0;
}
【问题讨论】:
-
在每次迭代时不将
j重置为零是问题所在。您只需使用s[j]-'0' < 10 && s[j]-'0' >= 0测试的 1 个循环即可完成此操作 -
查看stackoverflow.com/questions/20446042/… 以获得更好的选择
标签: c