欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 每日一题——第八十八题

每日一题——第八十八题

2024/10/25 16:21:41 来源:https://blog.csdn.net/weixin_45778846/article/details/142286424  浏览:    关键词:每日一题——第八十八题

题目:输入一个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;}/// <summary>
/// 判断一个九位的无符号整数是否存重复数字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
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) {//如果某个数字的出现次数大于1的话,则存在重复return true;}}return false;//如果没有重复,则返回false
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com