写一个c语音代码,输入任意数量的整数。这些整数的范围在0到49之间并且包含0和49。当输入完任意数量的整数后,求出这组数字中每个数字出现的次数,例如输入02 02 05 06 04,计算统计后,输出结果为02出现了2次。04出现一次,05出现一次。06出现一次,计算完后输出结果,输出结果是两个位数,不足两个位数十位用0补满。
时间: 2023-03-20 16:00:48 浏览: 69
以下是用C语言编写的实现上述功能的代码:
```
#include <stdio.h>
int main() {
int count[50] = {0}; // 初始化每个数字出现次数为0
int num;
// 输入数字并统计每个数字出现次数
while (scanf("%d", &num) != EOF) {
count[num]++;
}
// 输出每个数字出现次数
for (int i = 0; i < 50; i++) {
if (count[i] > 0) {
printf("%02d出现了%d次\n", i, count[i]);
}
}
return 0;
}
```
该程序使用一个大小为50的数组count来统计每个数字出现的次数,初始化为0。然后在输入数字的时候,将对应数字的计数器加1。最后通过遍历count数组,输出每个数字出现的次数。为了输出结果两个位数,使用"%02d"格式控制符,即在数字不足两位时,自动在前面补0。
相关问题
用c语音写一个简洁程序,不导入任何库,输入任意一个3位整数,编程实现将它反向输出。例如输入256,输出652
当然可以,这是一个简单的C语言程序,用于实现输入3位整数并反转显示:
```c
#include <stdio.h> //虽然我们不需要这个库,但这里需要`printf`函数
int main() {
int num;
printf("请输入一个三位整数: ");
scanf("%d", &num); //获取用户输入
// 检查输入是否为3位数
if (num >= 0 && num <= 999) {
int reversed = 0; // 存储反转后的数字
while (num > 0) {
reversed = reversed * 10 + num % 10; // 取余并添加到反转数
num /= 10; // 整除移位
}
printf("反转后的数字是: %d\n", reversed);
} else {
printf("输入不是三位数,请重新输入。\n");
}
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后通过循环和取模运算逐步计算出反转的数值,并将其打印出来。
c语音编程实现,输入任意两个正整数,输出其最大公约数和最小公倍数
下面是使用 C 语言编写的求两个正整数的最大公约数和最小公倍数的代码:
```c
#include <stdio.h>
int main()
{
int num1, num2, max, min, i, gcd, lcm;
printf("请输入两个正整数:");
scanf("%d %d", &num1, &num2);
// 求最大值和最小值
if (num1 > num2) {
max = num1;
min = num2;
} else {
max = num2;
min = num1;
}
// 求最大公约数
for (i = min; i >= 1; i--) {
if (max % i == 0 && min % i == 0) {
gcd = i;
break;
}
}
// 求最小公倍数
lcm = max / gcd * min;
printf("%d和%d的最大公约数为%d,最小公倍数为%d\n", num1, num2, gcd, lcm);
return 0;
}
```
用户需要输入两个正整数,程序会自动判断哪个是最大值,哪个是最小值,并使用 for 循环从最小值开始递减,找到最大的能同时被两个数整除的数,就是它们的最大公约数。然后用公式 max/gcd * min 求出它们的最小公倍数,最后输出结果。
阅读全文