C语言输入若干正整数,当输入0时停止,输出其中所有包含3的数
时间: 2024-11-13 13:20:55 浏览: 2
在C语言中,你可以通过使用`while`循环和条件判断来实现这个功能。首先,创建一个变量来存储用户输入的数字,然后检查这个数字是否为0,如果不是则继续读取并检查是否包含数字3。以下是示例代码:
```c
#include <stdio.h>
int main() {
int num;
while (1) {
printf("请输入一个正整数(输入0结束): ");
scanf("%d", &num);
if (num == 0)
break; // 当输入0时跳出循环
// 检查数字中是否有3
if (num % 10 == 3 || (num / 10 != 0 && num % 100 == 30)) {
printf("%d 含有3\n", num);
}
}
return 0;
}
```
这段代码会持续提示用户输入,如果输入的是0,则退出循环;否则,它会检查每一位数字是否为3或前两位加起来等于30(例如,13、30、43等)。如果满足条件,就输出这个数字。
相关问题
用c语言输入若干整数,输入0时终止,输出最大数
没问题,我可以帮你解决这个问题。
以下是简单的 C 语言代码,用来输入若干整数,直到输入 0 时终止,并输出最大数:
```
#include<stdio.h>
int main()
{
int num, max = -2147483647; //初始化最大值为最小的负整数
do
{
printf("请输入一个整数(输入0结束):");
scanf("%d", &num);
if (num > max)
{
max = num; //更新最大值
}
} while (num != 0);
printf("最大数为:%d\n", max);
return 0;
}
```
希望能对你有所帮助。
C语言输入若干个整数,输入-1时停止输入。输出删去唯一最大值后的所有值。
以下是C语言程序实现:
```c
#include <stdio.h>
int main()
{
int max = -1; // 用于记录最大值
int count = 0; // 用于记录输入的数的个数
int nums[100]; // 用于存储输入的数
// 输入若干个整数,输入-1时停止输入
int num;
while (1) {
scanf("%d", &num);
if (num == -1) {
break;
}
nums[count++] = num;
if (num > max) {
max = num;
}
}
// 输出删去唯一最大值后的所有值
for (int i = 0; i < count; i++) {
if (nums[i] != max || (nums[i] == max && i > 0 && nums[i-1] == max)) {
printf("%d ", nums[i]);
}
}
return 0;
}
```
程序思路:
1. 定义变量 `max` 记录最大值,初始值为 -1。
2. 定义变量 `count` 记录输入的数的个数,初始值为 0。
3. 定义数组 `nums` 存储输入的数。
4. 循环输入若干个整数,输入 -1 时停止输入,将输入的数存储到数组 `nums` 中,同时更新最大值 `max`。
5. 循环遍历数组 `nums`,判断是否是最大值,并且是否是唯一的最大值,如果是,则不输出;否则输出该数。
6. 完成。
阅读全文