例4-4 输入一个正整数m,判断它是否为素数,素数就是只能被1和本身整除的正整数,1不是素数,2是素数
#include <stdio.h>
int main()
{
int i, m;
printf("Enter a number:");
scanf("%d", &m);
for (i = 2; i < m / 2; i++)
{
if (m % i == 0)
{
break; //若m能被某个i整除,则m不是素数,提前结束循环。
}
}
if (i > m / 2 && m != 1)
printf("%d is a prime number!", m);
else
printf("%d is not a prime number!", m);
return 0;
}
例4-5:更改例3-1简单的猜数游戏。输入你所猜的整数(假定在1-100之间),与计算机产生的被猜数作比较,若相等,显示猜中,若不等,显示与被猜数的大小关系,最多允许猜7次。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int count = 0, flag, mynumber, yournumber;
srand(time(0));
mynumber = rand() % 100 + 1; //计算机随机产生一个1-100间的被猜数
flag = 0;
while (count < 7)//最多猜七次
{
printf("Enter your number:");
scanf("%d", &yournumber);
count++;
if (yournumber == mynumber)//若猜中,显示猜中
{
printf("Lucky you!\n");
flag = 1;
break; //结束循环
}
else if (yournumber > mynumber)
{
printf("Too big!\n");
}
else
{
printf("Too small\n");
}
}
if (flag == 0) //超过7次没猜中,提示游戏结束
printf("Game over!\n");
return 0;
}
【练习4-6】猜数字游戏:先输入2个不超过100的正整数,分别是被猜数 mynumber和允许猜测的最大次数n,再输入你所猜的数 yournumber,与被猜数 mynumber进行比较,若相等,显示猜中;若不等,显示与被猜数的大小关系,最多允许猜n次。如果1次就猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”如果超过3次但不超过n次猜到该数,则提示“Good Guess如果超过n次都没有猜到,则提示“Game Over”;如果在到达n次之前,用户输入了一个负数,也输出 Game Over,并结束程序。试编写相应程序。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int count = 0, flag, mynumber, yournumber, n;
printf("Enter mynumber and n:");
scanf("%d %d", &mynumber, &n);
flag = 0;
while (count < n) //最多猜n次
{
printf("Enter your number:");
scanf("%d", &yournumber);
flag++;
if (mynumber <= 0) //若猜中,显示猜中
{
printf("Game over!\n");
count = 1;
}
else if (yournumber > mynumber)
{
printf("Too big!\n");
}
else if (yournumber < mynumber)
{
printf("Too small\n");
}
else
{
if (flag == 1)
{
printf("Bingo!\n");
}
else if (flag <= 3)
{
printf("Lucky You!\n");
}
else
{
printf("Good guess!\n");
}
count = 1;
}
}
if (flag == n)
if (!count)
{
printf("Game over!\n"); //超过n次没猜中,提示游戏结束
}
return 0;
}