首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将条件添加到数字的程序

将条件添加到数字的程序
EN

Stack Overflow用户
提问于 2021-10-15 01:32:01
回答 2查看 35关注 0票数 1

我已经写了一个程序,接受4位数字的输入,并在第1000,100,10和单位位打印数字。我想添加一个条件,即如果用户输入的数字多于或少于4位,则输出应为Only 4-digits are allowed.

代码语言:javascript
复制
#include<stdio.h>

int main(){

    int a, th, h, t, u;
    printf("Enter a 4-digit number: ");
    scanf("%d", &a);

    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;
}

该怎么办呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-15 01:49:35

这取决于"0999“是否被认为是一个4位数字。如果不是,那么任何已经发布的解决方案都可以工作。如果是,则必须将输入作为字符串进行扫描,以便在将其转换为int之前测试其长度。你也可以走这条路:

代码语言:javascript
复制
char digits[5];
scanf("%c%c%c%c", &digits[0], &digits[1], &digits[2], &digits[3]);
digits[4] = '\0'; // terminate the character array.
for(int i=0; i<4; i++) {
  if (digits[i] < '0' or digits[i] > '9') {
    //throw a fit at the user and return
  }
}

printf("thousands: %c, hundreds: %c, tens: %c, ones: %c\n", digits[0].... etc.);
票数 1
EN

Stack Overflow用户

发布于 2021-10-15 01:39:10

您可以尝试以下代码

代码语言:javascript
复制
if(a<1000 || a>9999)
{
   printf("Only 4-digits are allowed:");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69579015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档