题目:输入一个9位的无符号整数,判断其是否有重复数字
#include<stdio.h>
#include<stdbool.h>
#include<string.h>
int main() {char num_str[10];printf("请输入一个9位数的无符号数:");scanf_s("%9d", &num_str);if (strlen(num_str) != 9) {printf("输入的不是一个9位无符号整数,请重新输入");}else{if (hasDuplicateDigits(num_str)) {printf("输入的有输入数字\n");}else{printf("输入的没有输入数字\n");}}return 0;}
bool hasDuplicateDigits(const char* str) {int digits[10] = { 0 };for (int i = 0; str[i] != '\0'; i++){int digit = str[i] - '0';if (++digits[digit] > 1) {return true;}}return false;
}