1、打印100~200之间的素数
这里推荐一篇文章,《素数求解的n种境界》,建议查看!
下面用 “试除法”来解决这道题目:
int main(){
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++){
//优化1:将条件改为 i+=2,因为偶数不可能为素数,提高效率
int j = 0;
for (j = 2; j <= i; j++){
//优化2:将条件改为 j<i/2,最常用
//优化3:将条件改为 j<sqrt(i),此函数是对i开平方
//注意:此处改的条件在下面判断中也要改
if (i%j == 0){
break;
}
if (j > i){
printf("%d", i);
count++;
}
}
printf("\n count = %d\n", count);
}
return 0;
}
2、打印九九乘法口诀表
int main(){
int i = 0;
for (i = 0; i < 9; i++){
int j = 0;
for (j = 0; j <= i; j++){
printf("%d*%d=%-2d", i, j, i*j);
// 2d右对齐 -2d左对齐
}
printf("\n");
}
}
3、打印出1000~2000间所有的闰年
int main(){
int year = 0;
int count = 0;
for (year = 1000; year <= 2000; year++){
if ((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0){
// 使用逻辑运算符以缩短代码长度
printf("%d ", year);
count++;
}
}
printf("\ncount = %d\n", count);
return 0;
}