用c语言生成一个可以判断输入数字中有几个相同数字的程序
时间: 2024-05-02 13:16:53 浏览: 6
以下是一个简单的程序,用于计算输入数字中相同数字的个数:
```c
#include <stdio.h>
int main() {
int num, digit, count = 0;
int digits[10] = { 0 };
printf("请输入一个数字:");
scanf("%d", &num);
while (num > 0) {
digit = num % 10;
digits[digit]++;
num /= 10;
}
for (int i = 0; i < 10; i++) {
if (digits[i] > 1) {
count++;
}
}
printf("输入数字中有 %d 个相同数字\n", count);
return 0;
}
```
程序首先提示用户输入一个数字,然后使用 while 循环遍历该数字的每个位数,并将每个数字出现的次数存储在一个名为 digits 的整数数组中。最后,程序遍历 digits 数组以计算有多少个数字出现了超过一次。
相关问题
C语言中输入一个整数,如何判断所以数位中是否有相同数字
可以使用数组来记录每个数字出现的次数,然后遍历这个数组,如果有数字出现次数大于1,则说明该数字在数位中出现了不止一次,即存在相同数字。具体实现可以参考以下代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int count[10] = {0}; // 数字出现次数的数组
while (n > 0) {
int digit = n % 10; // 取出最低位的数字
count[digit]++; // 对应数字的出现次数加1
n /= 10; // 去掉最低位的数字
}
int hasSameDigit = 0; // 是否存在相同数字的标志
for (int i = 0; i < 10; i++) {
if (count[i] > 1) {
hasSameDigit = 1;
break;
}
}
if (hasSameDigit) {
printf("存在相同数字\n");
} else {
printf("不存在相同数字\n");
}
return 0;
}
```
生成一个c语言代码,输入月份判断该月有几天
下面是一个简单的C语言代码,可以根据输入的月份判断该月有多少天:
```c
#include <stdio.h>
int main() {
int month, days;
printf("请输入月份:");
scanf("%d", &month);
switch(month) {
case 2:
days = 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
printf("%d月有%d天。\n", month, days);
return 0;
}
```
首先,我们定义了两个变量 `month` 和 `days`,分别用来存储输入的月份和该月的天数。
然后,我们通过 `printf` 函数提示用户输入月份,并通过 `scanf` 函数读取用户输入的月份。
接着,我们使用 `switch` 语句根据输入的月份来判断该月的天数。对于2月份,我们将天数设置为28天;对于4月、6月、9月和11月,我们将天数设置为30天;对于其他月份,我们将天数设置为31天。
最后,我们使用 `printf` 函数输出结果,告诉用户该月有多少天。