求助求助~~C++编程。随意输入一个正整数N,计算从1~N之间0、1、2、3、...、9数字出现的次数是多少。

题目是这样的:随意输入一个正整数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;
} 我想问这里哪里有错误吖。

第1个回答  2010-09-10
//如果n=13,1出现的次数只有6次吧:1 10 11 12 13

#include <iostream>
using namespace std;
int main()
{
int i,n,num,a[10]={0};//定义变量,初始化数组a为零
cin>>n;
for (i=1;i<=n;i++)
{
num=i;
while (num) //统计0..9数字出现的次数
{
a[num%10]++;
num/=10;
}
}
for (i=0;i<10;i++) //输出统计数据
cout<<i<<" 出现次数: "<<a[i]<<endl;
}本回答被网友采纳
第2个回答  2010-09-10
就是没有代码呀!另外:N=13时,1出现的次数怎么可能是13呢??你可以把代码发给我:820614361
第3个回答  2010-09-10
你好!!!

把代码发给我看看!!
相似回答