4-3 判断素数

例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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值