题目是这样的:随意输入一个正整数N,计算从1~N之间0、1、2、3、...、9数字出现的次数是多少。比如说N=13,则1出现的次数为13.
下面是我自己的代码,编译可以通过但是结果不对。
求大虾帮忙看下错误在哪里哈~~谢谢吖~
额。。忘记把代码放上去 额。。还有还有。1出现的次数是6额。。。糊涂了吖。。。
int main()
{
int Num;
cout<<"请输入正整数n:"<<endl;
cin>>Num;
int a[10]={0,0,0,0,0,0,0,0,0,0};
for(int i=1;i<=Num;i++)
{
if(i%10==i)a[i]++;
else
{int Num1=Num/10;int Num2=Num%10;
switch(Num1)
{case '1':a[1]++;break;case '2':a[2]++;break;
case '3':a[3]++;break;case '4':a[4]++;break;
case '5':a[5]++;break;case '6':a[6]++;break;
case '7':a[7]++;break;case '8':a[8]++;break;
case '9':a[9]++;break;case '0':a[0]++;break;
}
switch(Num2)
{
case '1':a[1]++;break;
case '2':a[2]++;break;
case '3':a[3]++;break;
case '4':a[4]++;break;
case '5':a[5]++;break;
case '6':a[6]++;break;
case '7':a[7]++;break;
case '8':a[8]++;break;
case '9':a[9]++;break;
case '0':a[0]++;break;
}}}
for(i=0;i<=Num;i++)
cout<<"从1~"<<Num<<"中"<<i<<"出现的次数为"<<a[i]<<endl;
return 0;
} 我想问这里哪里有错误吖。