帮忙解释一下这道c++题

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:21:52
#include<iostream>
using namespace std;
int main()
{
int a[10]={76,83,54,62,40,75,90,93,77,85};
int b[5]={60,70,80,90,100};
int c[5]={0};
for(int m=0;m<10;m++)
{
int j=0;
while(a[m]>=b[j])j++;
c[j]++;
}
for(int i=0;i<5;i++)
cout<<c[i]<<"";
cout<<endl;
system("pause");
return 0;
}
麻烦告诉我这个程序的意思是什么?是怎么执行的?
int j=0;
while(a[m]>=b[j])j++;
c[j]++;
上面的这个是什么意思?

for(int m=0;m<10;m++)
{
int j=0;
while(a[m]>=b[j])
j++;

c[j]++;
}
其中当m=0时 a[0] 分别和b[j]比 j从0开始 也就是说
a[o] 和b[0] b[1]^^b[4]依次比较 如果前者大于后者 j 就自增一次..
然后使 b[j]+1
在执行 i++ 使i变成1 在进入for 循环
下面的就依次类推...

不明白 丢信息给我

for(int m=0;m<10;m++) //当m=0时进入循环 此时 j=0 进入while循环
{ //a[0]>=b[0] (76>=60)成立 j++ a[0]>=b[1]
int j=0; //(76>=70)成立 j++ a[0]>=b[2](76>=80)不成立
while(a[m]>=b[j])j++; //跳出while循环 执行 c[j]++ 也就是使c[2]
c[j]++; //加1 然后i++ 再次进入for循环
}

这样看你就知道了
for(int m=0;m<10;m++)
{
int j=0;
while(a[m]>=b[j])
{
j++;
}

c[j]++;
}

这题是用c[]的5个元素分别保存a[]中属于[60,70),[70,80)……[90,100)的元素个数。
int j=0;
while(a[m]>=b[j])j++;
c[j]++;
这一段就是实现比较和记录的。当a数组中有大于b[j]的数时,比较出它具体大于等于b数组中的哪个数,属于哪个区间

a[10]中小于b[5]中每个元素的个数