C语言经典例1-无重复数字的三位数
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例1-无重复数字的三位数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現
- 4 運行結果
1 題目
有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
2 分析
本題的本質是排列組合問題,抽象的描述就是一共有3個空位,而有4個數,要將這4個數填入到空位中,且每個數在一次組合的過程中只能使用一次,求能組合成多少種不同的數。
- 類似于這種問題可以直接使用for循環嵌套,本題是組合成三位數,那么需要三層for循環嵌套,由于每個位置可選擇的數字有4個(即1,2,3,4),所以每層循環的始末為1和4
- 使用嵌套循環,由于每次循環都會有變量改變,所以組合成的數字必定是互不相同的,但是其中可能有重復的數字,所以需要加上一個if判斷語句來篩選其中無重復的
3 實現
#include<stdio.h> int main() {for (int i = 1; i <= 4; i++) for (int j = 1; j <= 4; j++) for (int k = 1; k <= 4; k++) if (i != j && i != k && j != k) { // 判斷這個三位數無重復數字printf("%d%d%d\n", i, j, k);}return 0; }4 運行結果
123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432總結
以上是生活随笔為你收集整理的C语言经典例1-无重复数字的三位数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言-typedef与#define的
- 下一篇: C语言经典例4-某一天是这一年的第几天