偶然发现网易公开课的在线课程居然有测试,兴致大发随手做了几个,结果尼玛,一段时间不接触了手生了,测试平台采用的是gcc gcj,这让我很无语啊,gcj提交老是报错,始终无法解决,为了一劳永逸,搞了个Eclipse+CDT+MinGW搞起了gcc
各种bug有木有,各种错误有木有,,,,╮(╯▽╰)╭半天就这样没了,不过最终发现了解决方法!!!
Eclipse gcc
开发 建议:新建工程一定要确定是否勾选gcc,如图所示:
一个工程里面,必建一个src资源文件夹;
xxx.c文件放在其中,且只能放一个,不然报错跟java有所不同;
严格遵守gcc规范,以防止出现不必要的错误;
每次编辑.c文件后可以手动清除生成的 Debug 和Release 文件夹,使用相关命令重新编译;
也可以后用Ctrl+B 全部编译,或者直接用Ctrl+F11运行当前项目文件(编译带执行,如果有错误按照上述步骤操作)。
下面是一个Online Course 的 作业题, WIN7 32bit +Eclipse gcc 编写!
令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。
输入格式:
输入 在一行中给出M和N,其间以空格分隔。
输出格式:
输出 从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入样例:
5 27
输出样例:11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103
Code:#include
#include
int main() {
void prime_num(int start, int end) {
if (start <= end && end <= pow(10, 4)) {
int i = 2;
int count = 0, col = 0;
int flag = 0;
for (;; i++) {
int j = 2;
for (; j <= sqrt(i); j++) {
if (i % j == 0) {
flag = 1;
break;
}
}
if (flag) {
flag = 0;
continue;
}
count++;
if (count >= start && count <= end - 1) {
if (++col % 10 == 0) {
printf("%d\n", i);
} else {
printf("%d ", i);
}
}
if (count == end) {
printf("%d", i);
break;
}
}
}
}
int M, N;
scanf("%d %d", &M, &N);
prime_num(M, N);
return 0;
}input:
2 30output:
3 5 7 11 13 17 19 23 29 31
37 41 43 47 53 59 61 67 71 73
79 83 89 97 101 103 107 109 113