统计用0~9之间不同的三个数所构成的三位数,求出有多少种这样的三位数,用c语言来实现,若百位与十位数相同,用continue跳过
时间: 2024-10-17 20:04:54 浏览: 27
统计0到9之间不同的三个数可以构成的不同三位数,我们可以考虑遍历每个可能的百位数字,然后对每个百位数字,再遍历剩下的两个不同数字作为十位和个位。由于题目要求百位和十位相同需要跳过,我们可以在内层循环开始之前检查当前百位是否等于上一次的十位。
以下是用C语言实现的一个简单示例:
```c
#include <stdio.h>
int main() {
int count = 0;
for (int i = 0; i <= 9; ++i) { // 百位
if (i == 0) continue; // 跳过0作为百位的情况
int prev_tens = -1; // 上一个十位,初始化为-1防止第一个循环
for (int j = i + 1; j <= 9; ++j) { // 十位(从百位后的第一个非零数字开始)
if (prev_tens != -1 && i == j) break; // 如果百位和十位相同则跳出
int ones = j; // 个位总是最后一个数字
printf("%d%d%d\n", i, j, ones); // 打印三位数
++count;
prev_tens = j; // 更新上一个十位
}
}
printf("一共有 %d 种不同的三位数。\n", count);
return 0;
}
```
在这个程序中,`count`变量用于记录生成的三位数的数量,`prev_tens`用来保存上一个非重复的十位数值。当满足条件(百位和十位相同时),`break`退出内层循环。
阅读全文