问题描述
- 谢谢了、求大神帮一下忙。
- 请编写函数fun(char *str int num[])它的功能是:分别找出字符串中每个数字字符(0,1,2,3,4,5,6,7,8,9)的个数,用num[0]来统计字符0的个数,用num[1]来统计字符1的个数.....用num[9]来统计字符9的个数。字符串由主函数从键盘读入。
解决方案
void fun(char *str int num[10]){int num[10];int i;for (i = 0; i < 10; i++) num[i] = 0;while (*str != ''){num[*str - '0']++;str++;}for (i = 0; i < 10; i++)printf(""%d: %d"" i num[i]);}
解决方案二:
void fun(char *str int num[10]){int i;for (i = 0; i < 10; i++) num[i] = 0;while (*str != ''){num[*str - '0']++;str++;}for (i = 0; i < 10; i++)printf(""%d: %d"" i num[i]);}
解决方案三:
int fun(char *strint num[10])
{
limit=strlen(str);
for(i=0;i {
if(str[i]>=0 && str[i]<=9)
num[str[i]]++;
}
}
解决方案四:
void fun(char *str int num[])
{
int i;
char *begin = str;
for (i = 0; i < 10; i++)
num[i] = 0;
while (*begin != '')
{
if(*begin >= '0' && *begin <= '9')
{
num[*begin - '0']++;
begin++;
}
}
for (i = 0; i < 10; ++i)
printf(""%d==> %dn"" i num[i]);
}
解决方案五:
int fun(char *strint num[])
{
memset(num0sizeof(int)*10);
while(*str!='')
{
num[*str-48]++;
str++;
}
时间: 2024-08-01 22:16:21