#include <iostream>
#include<vector>
using namespace std;
int main()
{
system("chcp 65001");//修改qtcreator_process_stub.exe的字符编码为utf8
printf("在qt上编译\n");
//一共11人
vector<unsigned> vUS(11);
auto it = vUS.begin();
int iVal;
printf("请输入一组成绩(0~100):");
while(cin>>iVal){
if(iVal<101){
printf("这个地方我看不懂!(已懂)\n");
++*(it+iVal/10);
printf("调试信息:%d\n",*(it+iVal/10));
//通过调试信息,我们可以看出:if{}里面是用了it指针,it指针一直不变,通过it+iVal/10定位当前分数所在的分数段的位置,进行加一,充当了计数器
//即it+iVal/10是位置,*(it+iVal/10)才是计数器
}
}
printf("已经退出while循环\n");
cout<<"您总共输入了"<<vUS.size()<<"个成绩"<<endl;
printf("各分数段的人数分布是:");
for(it = vUS.begin();it != vUS.end();it++){
cout<<*it<<" ";
}
cout<<endl;
return 0;
}
测试数据一:
即:
0~9有一位
10~19有一位
20~29有一位
30~39有一位
40~49有一位
50~59有一位
60~69有一位
70~79有一位
80~89有一位
90~99有一位
100有一位
测试数据二:
即:
0~9有一位
10~19有一位
20~29有一位
30~39有一位
40~49有一位
50~59有一位
60~69有一位
70~79有一位
80~89有一位
90~99有两位
没有100的