1.编写程序,打印100以内的素数。
#include<stdio.h>
#include<math.h>
int main(void){
int i,j;
for(i=2;i<=100;i++){
int ret=0;
for(j=2;j<=sqrt(i);j=j+1){
if(i%j==0){
ret++;
break;
}
}
if(ret==0){
printf("%5d",i);
}
}
return 0;
}
2.易犯错误代码如下:
#include<stdio.h>
#include<math.h>
int main(void){
int i,j;
int ret=0;
for(i=2;i<=100;i++){
//int ret=0;
for(j=2;j<=sqrt(i);j=j+1){
if(i%j==0){
ret++;
break;
}
}
if(ret==0){
printf("%5d",i);
}
}
return 0;
}
3.错误之处:问题出在没有在每次外层循环开始时将ret重置为0