vc++里 if (count % 10 ==0) {std::cout<<std::endl} “count % 10 ==0”该如何理解

这里是做一个输出从一个数到另一个数之间所有数的程序

全部代码如下:
#include <iostream>
int main()
{
std::cout<<"输入两个整数"<<std::endl;
int vs, vl;
int i1, i2;
std::cin>>i1>>i2;
if (i1>=i2)
{
vl=i1;
vs=i2;
}else{
vl=i2;
vs=i1;
}
int sum = vs;
int count =0;
std::cout<<"从"<<vs<<"到"<<vl<<"之间的所有数据是:"<<std::endl;
while (sum<=vl)
{
std::cout<<sum<<", ";
++count;
++sum;
if (count % 10 == 0) //每10个数据空一行
{
std::cout<<std::endl;
}
}
std::cout<<std::endl;
system ("pause");
return 0;
};

在C语言家族(必须包括C++)中,%是求余,或者说是求模或模运算的符号,这里的余和模(mod)是一个概念,也就是两个整数进行除法后所得的余数,例如,52%10的结果为2,所以count%10==0,就表示count是10的倍数,或者说能被10整除。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-13
注解告诉你了“每10个数据空一行”。
count 是数据个数计数器。
% 整除取余数运算
if (count % 10 == 0) -- 如果 除10 余数是0 则做:
std::cout<<std::endl;
std::endl -- 就是输出 "\n", 就是 输出/打印 “换一行”。
第2个回答  2012-07-13
#include <iostream>
int main()
{
std::cout<<"输入两个整数"<<std::endl;
int vs, vl;
int i1, i2;
std::cin>>i1>>i2;//输入二个树
if (i1>=i2)//判断谁大谁小,并将大的赋值给V1,小的给VS
{
vl=i1;
vs=i2;
}else{
vl=i2;
vs=i1;
}
int sum = vs;
int count =0;
std::cout<<"从"<<vs<<"到"<<vl<<"之间的所有数据是:"<<std::endl;
/*下边是输出sum---v1之间的数字,sum每次加1,并输出sum,直到与V1相等*/
while (sum<=vl)
{
std::cout<<sum<<", ";
++count;
++sum;
if (count % 10 == 0) //每10个数据空一行
{
std::cout<<std::endl;
}
}
std::cout<<std::endl;
system ("pause");
return 0;
};
第3个回答  2012-07-14
每输出一个数计数器count加1,当count为10的整倍数即输出10个数时换一行。
第4个回答  2012-07-13
count % 10 ==0是10的倍数。除以10余0