C語言程式設計-現代方法 第二版 第8.1.3小節程式碼 檢查數中重複出現的數字
阿新 • • 發佈:2020-12-13
技術標籤:C語言程式設計-現代方法 第二版程式設計
第8.1.3小節程式碼 檢查數中重複出現的數字
//This is a comment
//Author:King
//Time:2020/12/5
//Reference:C Programming:A Modern Approach,Second Edition
/***************************************************************
8.1.3小節程式碼 檢查數中重複出現的數字
****************************************************************/
#include <stdio.h>
#include <stdbool.h> // C99 only
int main(void)
{
long n;
int digit;
bool digit_seen[10] = {false}; //初始化陣列全部成員為false
printf("Enter a number:");
scanf("%ld",&n); //注意此處%ld,可以接收長整型數字
while(n>0)
{
digit = n % 10; //得到數字n的最低位數字
if (digit_seen[digit]) //先檢查對應的陣列成員是否為true ,如果有立即跳出迴圈,也代表有重複數字
break;
digit_seen[digit] = true; //把得到的最低位數字作為數字下標兵賦值為true
n /= 10; //去掉最低位繼續重新開始迴圈
}
if(n>0)
printf("Repeated digit!\n");
else
printf("No Repeated digit!\n");
system("pause"); //加入該函式後可以使得產生的exe單獨執行,不會發生閃退。也可以加入其它函式使得main函式無法返回即可。如while(1)、getchar() 等
return 0;
}