输出150到200之间有且仅有一位数字为9的所有整数。用c语言
时间: 2023-06-18 16:03:55 浏览: 181
可以使用循环和条件语句来实现:
```c
#include <stdio.h>
int main() {
for (int i = 150; i <= 200; i++) {
if (i % 10 == 9 || i / 10 == 9) {
printf("%d\n", i);
}
}
return 0;
}
```
首先使用 `for` 循环遍历 150 到 200 之间的所有整数。然后使用条件语句来判断当前整数是否符合要求,即判断个位数或十位数是否为 9,如果是则输出该整数。
相关问题
C语言编程输入一个三位整数,判断这个三位数是否有且仅有两个数字相同,如果是的话输出yes,否则输出no
```
#include <stdio.h>
int main() {
int num, a, b, c;
printf("请输入一个三位整数:");
scanf("%d", &num);
a = num / 100; // 百位
b = num / 10 % 10; // 十位
c = num % 10; // 个位
if ((a == b && a != c) || (a == c && a != b) || (b == c && b != a)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
解释:
首先读入一个三位整数,然后通过除法和取余运算分别取出其百位、十位和个位。
接下来,我们用条件语句来判断是否有且仅有两个数字相同。注意,这里使用了逻辑运算符和比较运算符来组合判断条件。如果满足条件,则输出 yes,否则输出 no。
用C语言写程序:输入仅一行,输入2个整数 ,输出多行,分行输出2到9之间的所有的同构数。
同构数指的是将一个数字的各位数按照另一种顺序排列得到的数与原数相等的数字,如 123 和 321 就是同构数。
以下是用 C 语言编写的程序:
```c
#include <stdio.h>
int main() {
int num1, num2, i, j, k, l;
scanf("%d %d", &num1, &num2);
for (i = 2; i <= 9; i++) {
for (j = 2; j <= 9; j++) {
if (i == j) continue; // 排列不重复
for (k = 2; k <= 9; k++) {
if (i == k || j == k) continue; // 排列不重复
for (l = 2; l <= 9; l++) {
if (i == l || j == l || k == l) continue; // 排列不重复
int n = i * 1000 + j * 100 + k * 10 + l;
if (n >= num1 && n <= num2 && num1 < num2) {
printf("%d\n", n);
}
}
}
}
}
return 0;
}
```
程序中首先读取输入的两个整数,然后使用四个嵌套的 for 循环枚举所有的 4 位数。在循环体中,首先判断当前的四个数字有没有重复,然后将它们依次组成一个 4 位数,判断该数是否在区间内,并输出。
需要注意的是,要排除所有个位数为 0 的 4 位数,因为同构数不能包含 0。
阅读全文