1.判断素数
#include<stdio.h>
int main() {
int i, limit, number;
printf("enter a number:\n");
scanf("%d", &number);
if (number <= 1) { /*小于等于1的数不是素数*/
printf("It's not a prime number\n");
}
else if (number == 2) { /*2是素数*/
printf("2 is a prime number\n");
}
else {
limit = number / 2; /*number不能被大于number/2的数整除*/
for (i = 1; i <= limit; i++) {
if (number % limit == 0) {
printf("%d is not a prime number\n",number); /*若number能被某个小于number/2的数整除,则number不是素数*/
break;
}
}
if (i > limit) {
printf("%d is a prime number\n", number); /*循环结束,Number不能被任何一个数整除,说明Number是素数*/
}
}
return 0;
}
2.猜数游戏
#include<stdio.h>
#include<stdlib.h> /*srand()和rand()函数包含在<stdlib.h>这个头文件中*/
#include<time.h> /*time()函数包含在<time.h>这个头文件中*/
int main() {
int count = 0, flag, mynumber, yournumber;
srand(time(0)); /*设定随机数的产生与系统时钟关联,确保每次程序运行时都能得到不同的随机数序列*/
mynumber = rand() % 100 + 1; /*计算机随机产生一个1~100之间的被猜数*/
flag = 0; /*flag=0表示没猜中,为1表示猜中了*/
while (count < 7) {
printf("enter your number:\n");
scanf("%d", &yournumber);
count++;
if (yournumber == mynumber) {
printf("lucky you!\n");
flag = 1;
break;
}
else if (yournumber <= mynumber) {
printf("too small\n");
}
else {
printf("too big\n");
}
}
if (flag == 0) {
printf("game over\n");
}
return 0;
}
总结:
(1)break语句强制循环结束,for循环中,一旦执行break语句,则循环提前结束,不再执行循环体中位于其后的其他语句;
(2)break语句应该和if语句配合使用,条件满足时,才执行break跳出循环;
(3)continue语句的作用是跳过循环体中continue后面的语句,继续下一次循环,一般也需要配合if语句使用;
(5)continue语句和break语句的区别:break结束循环,continue只是跳过后面的语句继续循环。break语句除了可以终止循环外,还可用于switch语句,而continue语句只能用于循环。
(明天写一下srand()、rand()、time()这三个函数)