#include#include int main(void) { char str[1001]; int num[10] = {0}; int len, count; scanf("%s", str); len = strlen(str); for (count = 0; count < len;count ++) { switch(str[count]) { case '0': num[0]++; break; case '1': num[1]++; break; case '2': num[2]++; break; case '3': num[3]++; break; case '4': num[4]++; break; case '5': num[5]++; break; case '6': num[6]++; break; case '7': num[7]++; break; case '8': num[8]++; break; case '9': num[9]++; break; } } for (count = 0; count < 10; count++) { if (num[count] != 0) printf("%d:%dn", count, num[count]); } return 0; }
总算感受到刷题的成果了,刷题速度越来越快了!
但是自己的算法依然差强人意,那就多借鉴别人的,加油,奋战!
#include#include int main(void) { char str[1001]; int num[10] = {0};//只要有一个元素被初始化,即使其他元素未被初始化,依然为0 int len, count; len = strlen(str); for (count = 0; count < len;count ++) { num[str[count] - '0']++;//这步很聪明,巧借str数组得出我想在的数组元素上递增 } for (count = 0; count < 10; count ++) { if (num[count] != 0) printf("%d:%dn", count, num[count]); } return 0; } /* 总结: 多看看别人的算法,真的很不一样!



