这是一题PTA上一道简单的题目,不想用十个if来解决这道题。我的方法如下:在这里插入代码片
#include<stdio.h>
int main(int argc, char const *argv[])
{
char string[100];
gets(string);
int a[9]={};
int other,i;
for(i=0;string[i]!='#';i++){
if(string[i]>='0'&&string[i]<='9'){
int p;
p=string[i]-'0';
a[p]++;
}else{
other++;
}
}
printf("digiter=");
for(i=0;i<=9;i++){
printf("%2d",a[i]);
}
printf("\n");
printf("other=%d",other);
}
这里说明以下如何将char类型的数字转为int类型:
ASCII码图如上:
如有char a=9;想要把char类型的a换成int类型;
我们只需int p=a-‘0’;即可。因为char类型的9 ASCII码对应57,0对应的是48相减即可完成转换。