for(i = 0 ; str[i] != '\0'; i++ ){
if(str[i] !=''){
num +=1;
}
}
for(i = 0; str[i] != '\0'; i++ ){
printf("%c-->%d,",str[i],num);
}
return 0;
}
给你改了一下,望采纳,谢谢!
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num[26] = {0};
char str[100];
char str1[26] = {'\0'};
int i;
printf("input string:\n");
gets(str);
//puts(str);
for(i = 0 ; str[i] != '\0'; i++ ){
if(str[i]>= 'a' && str[i] <= 'z'){
int index = str[i] - 'a';
//printf("%d\n",index);
num[index]++;
}
}
for(i = 0; str[i] != '\0'; i++ ){
if (str[i] != ' ')
printf("%c-->%d,",str[i],num[str[i] - 'a']);
}
return 0;
}
第3行
num +=1; 改为 num[str[i]] +=1;
第7行
printf("%c-->%d,",str[i],num);改为 printf("%c-->%d,",str[i],num[str[i]]);