今天主要学习了循环的嵌套,goto语句,flag标记,sqrt和 strcmp函数,下面我将今天所写代码分享给大家
1.素数的判断
int main()
{
int a = 0, b = 0;
for (a = 100; a <= 200; a++) {
int flag = 1;
for (b = 2; b <= a - 1; b++) {
if (a % b == 0) { flag = 0; break; }
}
if (flag == 1) printf("%d\n", a);
}
return 0;
}
通过双重循环找出100-200之间的素数,外层循环遍历每个数,内层循环检查是否能被2到自身-1的数整除。
素数判断优化:
int main()
{
int a = 0, b = 0;
for (a = 101; a <= 200; a += 2) {
int flag = 1;
for (b = 2; b <= sqrt(a); b++) {
if (a % b == 0) { flag = 0; break; }
}
if (flag == 1) printf("%d\n", a);
}
return 0;
}
优化:1.跳过偶数;2。只需检查到平方根;3。从101开始每次加2。
goto语句;
int main()
{
printf("你很好\n");
goto niu;
printf("年后");
niu:
printf("恭喜发财");
return 0;
}
goto可以跳出多层嵌套到到设置位置,会跳过"年后"直接打印"恭喜发财"。
关机程序:
int main()
{
char input[20] = "1";
system("shutdown -s -t 100");
warn:
printf("请输入"停止执行"取消关机\n");
scanf(" %s", input);
if (strcmp(input, "停止执行") == 0)
system("shutdown -a");
else goto warn;
return 0;
}
这段代码能实现100秒倒计时关机功能,需声明头文件#include<stdlib.h>,可通过输入特定命令取消。