VC++vector问题!

来源:百度知道 编辑:UC知道 时间:2024/05/24 23:29:50
#include "stdafx.h"
#include <iostream>
#include "stdio.h"
#include <fstream>
#include <vector>
using namespace std;
1 void main()
2 {
3 vector<int>prime(10000,1);
4 for(int i=2;i<=100;++i)
5 if (prime[i])
6 for(int j=i;j*i<=10000;++j)
7 prime[i*j]=0;
8 ifstream in("a.txt");
9 for(int a;in>>a&&a>1&&a<10000;)
10 cout<<a<<" is "<<(prime[a] ? "":"not")<<" a prime.\n";

}

详细分析456789行....每句话都对应下 谢了!!
你说的内层,外层循环好难懂啊!!!!!详细点好吗!,我知道FOR语句是循环,但prime[i])怎么会等于0,还有内循环的意思是什么!

4 for(int i=2;i<=100;++i) //外层循环体
5 if (prime[i]) //如果向量prime的第[i]个元素不等于0,就执行第6、7行
6 for(int j=i;j*i<=10000;++j) //内层循环
7 prime[i*j]=0; //prime的第i*j个元素赋值为0。
8 ifstream in("a.txt"); //循环退出了。定义一个文件流对象in,以打开文件a.txt便于读。
9 for(int a;in>>a&&a>1&&a<10000;) //循环,如果文件in读入一个四字节的数据到a中没有发生什么错误(对应语句为in>>a)并且a>1以及a<10000的话,就执行这个循环,否则退出。