为提取4位数字各位的C程序添加输入位数校验的实现方法
实现思路
- 合法的4位正整数取值范围为
1000 ~ 9999,在获取用户输入后先做范围校验 - 若输入值不在上述区间内,直接输出指定提示后终止程序
- 若输入符合要求,再执行原有的数位拆分、结果打印逻辑
若需要支持负4位整数的校验,可先调用
abs()函数取输入值的绝对值再判断,需额外引入stdlib.h头文件。
修改后完整代码
#include<stdio.h> int main(){ int a, th, h, t, u; printf("Enter a 4-digit number: "); scanf("%d", &a); // 新增4位数字校验逻辑 if (a < 1000 || a > 9999) { printf("Only 4-digits are allowed.\n"); return 0; } u = a%10; t = (a/10)%10; h = (a/100)%10; th = (a/1000); printf("\nThousands = %d, Hundreds = %d, Tens = %d, Units = %d\n", th, h, t, u); return 0; }
内容的提问来源于stack exchange,提问作者Rohan Singh
相关产品推荐
相关产品推荐

