问题:为什么数组中7只有三个,程序运行后显示有4个??
输出结果
我的代码,
#include
using namespace std;
int main()
{
int a[]={5,26,98,77,1,27,30},i=0;
int b[10]={0,0,0,0,0,0,0,0,0,0};
do
{
if(a[i]>9)
switch(a[i]/10)
{
case 0: b[0]++;
break;
case 1: b[1]++;
break;
case 2: b[2]++;
break;
case 3: b[3]++;
break;
case 4: b[4]++;
break;
case 5: b[5]++;
break;
case 6: b[6]++;
break;
case 7: b[7]++;
break;
case 8: b[8]++;
break;
case 9: b[9]++;
break;
}
}while(a[++i]);
i=0;
do
{
switch(a[i]%10)
{
case 0: b[0]++;
break;
case 1: b[1]++;
break;
case 2: b[2]++;
break;
case 3: b[3]++;
break;
case 4: b[4]++;
break;
case 5: b[5]++;
break;
case 6: b[6]++;
break;
case 7: b[7]++;
break; // 为什么不管a[]是多少,case7都至少执行一次???
case 8: b[8]++;
break;
case 9: b[9]++;
break;
}
}while(a[++i]);
cout<<"0~9依次出现"<<'\t';
for(i=0;i<10;i++)
cout<'\t';
cout<<"次";
return 0;
}
大哥,你这个代码,额😓