用c语言从键盘输入学号,然后输出学号中百位数字是 3 的学号,输入 0 时 结束循环
时间: 2024-02-15 20:01:40 浏览: 53
好的,下面是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char num[20];
while (1) {
printf("请输入学号:");
scanf("%s", num);
if (strcmp(num, "0") == 0) {
break;
}
if (strlen(num) >= 3 && num[strlen(num) - 3] == '3') {
printf("%s\n", num);
}
}
return 0;
}
```
这段代码使用了一个字符数组 `num` 来存储输入的学号,循环中会不断接受用户的输入,如果输入的是 0,就跳出循环。如果输入的学号中百位数字是 3,就输出该学号。注意,这里用到了 `strcmp` 函数比较两个字符串是否相等,用到了 `strlen` 函数获取字符串的长度。
相关问题
C语言从键盘输入学号,最后输出学号中百位数是3的学号,输入0时结束循环
下面是一个实现该功能的C语言代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入学号:\n");
scanf("%d", &num);
while (num != 0) {
int hundred = num / 100 % 10;
if (hundred == 3) {
printf("百位数是3的学号是:%d\n", num);
}
printf("请输入学号:\n");
scanf("%d", &num);
}
printf("程序结束!\n");
return 0;
}
```
解释一下代码:
1. 先定义一个整型变量 `num` 用来存储输入的学号。
2. 通过 `printf` 函数输出提示信息,让用户输入学号。
3. 通过 `scanf` 函数从键盘读入一个整数,存储在 `num` 变量中。
4. 进入一个循环:
- 首先计算出 `num` 的百位数,存储在变量 `hundred` 中。
- 判断 `hundred` 是否为 3,如果是,则输出该学号。
- 再次提示用户输入学号,通过 `scanf` 函数读入一个整数,存储在 `num` 变量中。
5. 当用户输入的学号为 0 时,退出循环,输出提示信息,程序结束。
需要注意的是,上面的代码假设输入的学号都是正整数。如果需要考虑负数或浮点数等情况,需要进行额外的判断和处理。
用c语言从键盘上输入3个实数,然后按从大到小的顺序输出,输出时保留2位有效数字。
好的,下面是实现该功能的C语言代码:
```c
#include <stdio.h>
int main()
{
double a, b, c;
printf("请输入三个实数:");
scanf("%lf %lf %lf", &a, &b, &c);
//比较大小并交换位置
if(a < b)
{
double tmp = a;
a = b;
b = tmp;
}
if(a < c)
{
double tmp = a;
a = c;
c = tmp;
}
if(b < c)
{
double tmp = b;
b = c;
c = tmp;
}
//按照从大到小的顺序输出结果
printf("%.2lf, %.2lf, %.2lf\n", a, b, c);
return 0;
}
```
以上代码中,我们使用了`scanf`函数从键盘上读取3个实数,并使用条件语句比较实数的大小并交换位置,最后按照从大到小的顺序输出结果。需要注意的是,输出时保留2位有效数字,可以使用格式化输出中的`%.2lf`来实现。
希望能够帮到您!