/*输出范例:
Enter a number: 41271092
Digit: 0 1 2 3 4 5 6 7 8 9
Occurrences: 1 2 2 0 1 0 0 1 0 1
*/
#include<stdio.h>
int main(){
printf("Enter a number: ");
char str[10];
scanf("%s",&str);
int i,p;
int x0=0,x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,x9=0;
for (i=0;i<10;i++){
p=str[i];
switch(p){
case 0: x0=x0+1; break;
case 1: x1=x1+1; break;
case 2: x2=x2+1; break;
case 3: x3=x3+1; break;
case 4: x4=x4+1; break;
case 5: x5=x5+1; break;
case 6: x6=x6+1; break;
case 7: x7=x7+1; break;
case 8: x8=x8+1; break;
case 9: x9=x9+1; break;
defalut: printf("");break;
printf("%d",p);
}
}
printf("Digit: 0 1 2 3 4 5 6 7 8 9\n");
printf("Occurrences: %d %d %d %d %d %d %d %d %d %d",x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);
return 0;
}
修改见注释处,供参考:
/*输出范例:
Enter a number: 41271092
Digit: 0 1 2 3 4 5 6 7 8 9
Occurrences: 1 2 2 0 1 0 0 1 0 1
*/
#include<stdio.h>
int main(){
printf("Enter a number: ");
char str[10];
scanf("%s",str); //scanf("%s",&str);
int i,p;
int x0=0,x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,x9=0;
for (i=0;i<10;i++){
p=str[i]-'0'; //p=str[i];
switch(p){
case 0: x0=x0+1; break;
case 1: x1=x1+1; break;
case 2: x2=x2+1; break;
case 3: x3=x3+1; break;
case 4: x4=x4+1; break;
case 5: x5=x5+1; break;
case 6: x6=x6+1; break;
case 7: x7=x7+1; break;
case 8: x8=x8+1; break;
case 9: x9=x9+1; break;
defalut: printf("");break;
printf("%d",p);
}
}
printf("Digit: 0 1 2 3 4 5 6 7 8 9\n");
printf("Occurrences: %d %d %d %d %d %d %d %d %d %d\n",x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);
return 0;
}
这到底是为什么呢,输出的东西一直都是一样的。。。。