任务内容
Description 逢年过节,三五好友,相约小聚,酒过三旬,围桌数七。 “数七”是一个酒 桌上玩的小游戏。就是按照顺序,某人报一个10以下的数字,然后后面的人依 次在原来的数字上加1,并喊出来,当然如果要喊的数包含7或者是7的倍数, 那么不能直接喊,可以敲一下筷子,否则就算输,要罚酒一杯。
Input
多组测试数据,先输入整数T表示组数, 每组测试数据输入一个10以下的正整数,
Output
对于每组测试数据,输出在一行,要求从小到大输出所报数(含)到100之 间所有不能喊的数字
#include <stdio.h>// 判断是否包含7或者是7的倍数
// 函数接受一个整数参数num
// 通过检查num是否能被7整除,或者个位数字是否为7,或者十位数字是否为7来判断
// 如果满足上述任何一个条件,就返回1,表示该数字是受限制的(即包含7或者是7的倍数)
// 如果都不满足,则返回0,表示该数字是正常的,可以喊出来的数字
int isRestricted(int num) {// 如果num能被7整除,说明是7的倍数,返回1if (num % 7 == 0) {return 1;}// 如果num的个位数字是7,返回1if (num % 10 == 7) {return 1;}// 如果num除以10的商是7,说明十位数字是7,返回1if (num / 10 == 7) {return 1;}// 如果上述条件都不满足,返回0return 0;
}int main() {int T;// 使用scanf函数从标准输入读取一个整数,赋值给T// T表示接下来要进行的测试数据的组数scanf("%d", &T);// 进入循环,每次循环处理一组测试数据,循环次数由T决定while (T--) {int start;// 使用scanf函数从标准输入读取一个整数,赋值给start// start表示每组测试数据中开始报数的那个10以下的正整数scanf("%d", &start);// 从start开始,到100为止,逐个检查数字for (int i = start; i <= 100; i++) {// 调用isRestricted函数判断当前数字i是否是受限制的数字if (isRestricted(i)) {// 如果是受限制的数字,使用printf函数将其输出到标准输出,后面跟一个空格printf("%d ", i);}}// 每组测试数据输出完受限制的数字后,换行printf("\n");}return 0;
}