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;
}