帮我解释下这段代码吧~
谁能给我详细解释下这代码,是书里面的搞了好久搞不懂~~
void GradeBook::outputBarChart()
{
cout < < "\nOverall Grade distribution: " < < endl;
const int frequencySize = 11;
int frequency[ frequencySize ] = { 0 };
for( int student = 0; student < students; student++ )
for( int test = 0; test < tests; test++ )
++frequency[ grades[ student ] [ test ] / 10 ];
for( int count = 0; count < frequencySize; count++ )
{
if( count == 0 )
cout < < " 0-9: ";
else if( count == 10 )
cout < < " 100: ";
else
cout < < count * 10 < < "- " < < ( count * 10 ) + 9 < < ": ";
for( int stars = 0; stars < frequency[ count ]; stars++ )
cout < < "* ";
cout < < endl;
}
}
[解决办法]
void GradeBook::outputBarChart()//一个函数
{
cout < < "\nOverall Grade distribution: " < < endl;//输出提示
const int frequencySize = 11;//一个常量
int frequency[ frequencySize ] = { 0 };//一个数组初始化了
for( int student = 0; student < students; student++ )
for( int test = 0; test < tests; test++ )//两层循环
++frequency[ grades[ student ] [ test ] / 10 ];
//二维grades数组里面的值除以10的值对应的数值在0-10之间,然后对应的那个数组元素的值加1
for( int count = 0; count < frequencySize; count++ )//一个循环
{
if( count == 0 )//界面开始输出下边的
cout < < " 0-9: ";
else if( count == 10 )//最后输出下边的
cout < < " 100: ";
else
cout < < count * 10 < < "- " < < ( count * 10 ) + 9 < < ": ";
for( int stars = 0; stars < frequency[ count ]; stars++ )
cout < < "* ";//中间的输出这个
cout < < endl;//换行
}
}
[解决办法]
//二维grades数组里面的值除以10的值对应的数值在0-10之间,然后对应的那个数组元素的值加1
比如 grades[1][2] = 12 12/10 = 1 => a[1] += 1;