当前位置: 首页 > news >正文

C语言第五章-循环结构练习

1、设计一个小型模拟彩票中奖机,已知彩票中奖号码是一个固定的3位数(原始号码)。对任意一个3位数,取出它的每位数字和原始号码的每位数字比较,有1位数相同中三等奖,有2位数相同中二等奖,有3位数相同中一等奖。在所有的三位数中比较,输出所有中奖数字。


#include <stdio.h>


// 判断两个三位数是否中奖
void checkWinning(int originalNum, int guessNum) {
    int originalDigits[3];  // 原始号码的每一位数字
    int guessDigits[3];     // 猜测号码的每一位数字


    // 将原始号码和猜测号码的每一位数字存入数组
    originalDigits[0] = originalNum / 100;
    originalDigits[1] = (originalNum / 10) % 10;
    originalDigits[2] = originalNum % 10;


    guessDigits[0] = guessNum / 100;
    guessDigits[1] = (guessNum / 10) % 10;
    guessDigits[2] = guessNum % 10;


    int countMatch = 0;  // 用于计数相同的位数
  int i=0;
  int j=0;
    // 比较原始号码和猜测号码的每一位数字
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            if (originalDigits[i] == guessDigits[j]) {
                countMatch++;
                break;
            }
        }
    }
    // 根据相同位数的数量输出中奖结果
    switch (countMatch) {
        case 3:
            printf("一等奖:%d\n", guessNum);
            break;
        case 2:
            printf("二等奖:%d\n", guessNum);
            break;
        case 1:
            printf("三等奖:%d\n", guessNum);
            break;
    }
}


int main() {
    int originalNum; // 原始中奖号码
    printf("请输入中奖号码(三位数):");
    scanf("%d", &originalNum);

    printf("中奖号码如下:\n");
    int i=0; 
    // 遍历所有的三位数,判断是否中奖
    for(i = 100; i < 1000; i++)
   {
        checkWinning(originalNum, i);
    }
    return 0;
}

或者

#include <stdio.h>
void main()
{
int i,a,b,c,k=0,num=0;
int n=123;    //中奖原始号码
printf("输出所有中奖号码:\n");
for(i=100;i<=999;i++)         //循环判断3位数中的中奖数字
{ a=i%10;                             //求个位
 b=i/10%10;                        //求十位
 c=i/100%10;                       //求百位
 if( a==3) k++;                    //个位是3,k=1
 if(b==2) k++;                     //十位是2,k=2
 if(c==1) k++;                     //百位是1,k=3
 if(k==1){printf("三等奖%-5d",i);
  num++;k=0;}   //根据k的值判定获奖等级
 if(k==2){printf("二等奖%-5d",i); num++;k=0;}
 if(k==3){printf("一等奖%-5d",i); num++;k=0;}
 if(num==6){printf("\n"); num=0;}  //一行显示6个数字
  }
}

2、闰年判断

判断一个年份是否为闰年的规则是:如果该年份能被4整除,但不能被100整除,则是闰年。如果该年份能被400整除,则也是闰年。以下是一个示例的 C 语言代码来判断一个年份是否为闰年:

#include <stdio.h>


int isLeapYear(int year) {
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
        return 1; // 是闰年
    } else {
        return 0; // 不是闰年
    }
}


int main() {
    int year;


    printf("请输入年份:");
    scanf("%d", &year);


    if (isLeapYear(year)) {
        printf("%d 是闰年。\n", year);
    } else {
        printf("%d 不是闰年。\n", year);
    }


    return 0;
}

3.输出简化九九乘法表

#include <stdio.h>


int main() {
    int i, j;


    for (i = 1; i <= 9; i++) {
        for (j = 1; j <= i; j++) {
            printf("%d x %d = %d\t", j, i, i * j);
        }
        printf("\n");
    }


    return 0;
}

http://www.lryc.cn/news/141832.html

相关文章:

  • Echarts面积图2.0(范围绘制)
  • flink checkpoint时exact-one模式和atleastone模式的区别
  • QEMU 仿真RISC-V freeRTOS 程序
  • 用大白话来讲讲多线程的知识架构
  • 【uniapp】微信小程序 , 海报轮播图弹窗,点击海报保存到本地,长按海报图片分享,收藏或保存
  • SpringBoot与前端交互遇到的一些问题
  • Maven介绍与配置+IDEA集成Maven+使用Maven命令
  • 毕业设计题目源码-毕业论文参考
  • SSH报错-Terminal shell path: C:\WINDOWS\System32\cmd.exe 此时不应有
  • Docker 轻量级可视化工具Portainer
  • 站点平台技术架构
  • 一个以太坊合约的漏洞分析-重入攻击
  • 测试先行:探索测试驱动开发的深层价值
  • 如何用Dockerfile部署LAMP架构
  • 基于量子粒子群算法(QPSO)优化LSTM的风电、负荷等时间序列预测算法(Matlab代码实现)
  • SQL Server软件安装包分享(附安装教程)
  • 基于Django的博客管理系统
  • windows系统依赖环境一键安装
  • centos7安装nacos
  • 【python】python智能停车场数据分析(代码+数据集)【独一无二】
  • 如何使用Redis来防止穿透、击穿和雪崩问题
  • 以getPositionList为例,查找接口函数定义及接口数据格式定义
  • 一生一芯8——在github上添加ssh key
  • 2023年6月电子学会Python等级考试试卷(一级)答案解析
  • ppt如何转pdf文档?用这个方法可将ppt转pdf
  • Hope.money:新兴DeFi项目如何重新定义稳定币生态的未来?
  • 使用 S3 生命周期精确管理对象生命周期
  • RocketMQ零拷贝原理
  • HTML <tbody> 标签
  • 4.22 TCP 四次挥手,可以变成三次吗?