酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

用c语言写一个程序:从键盘输入一个n作为上限,要求输出上限以内包含7的数字例如(7、17、27、37……70、71、72……)

当然可以!以下是一个用C语言编写的程序,它从键盘输入一个上限 `n`,然后输出所有在该上限以内包含数字7的数字。 ```c #include <stdio.h> #include <stdbool.h> // 判断一个数字是否包含数字7 bool contains_seven(int num) { while (num > 0) { if (num % 10 == 7) { return true; } num /= 10; } return false; } int main() { int n; // 从键盘输入上限n printf("请输入一个上限: "); scanf("%d", &n); // 遍历并输出包含7的数字 printf("包含7的数字有:\n"); for (int i = 0; i <= n; i++) { if (contains_seven(i)) { printf("%d\n", i); } } return 0; } ``` 额外需要注意的逻辑点 1. 输入验证: - 在实际应用中,应考虑对输入进行验证,确保输入的是一个合法的整数。 - 可以添加错误处理逻辑,比如当用户输入的不是整数时给出提示并重新要求输入。 2. 性能优化: - 如果上限 `n` 非常大,当前的实现(逐个检查每个数字)可能会比较慢。 - 可以考虑使用更高效的算法或数据结构来减少不必要的检查。 3. 边界情况: - 当输入的上限 `n` 为负数或零时,程序应能正确处理(比如直接输出没有包含7的数字或给出提示)。 - 可以添加逻辑来处理这些边界情况,使程序更加健壮。 [2024-12-10 19:24:21 | AI写代码神器 | 400点数解答]

相关提问