gpt4 book ai didi

c - 仅输入 1 到 1000 之间的数字时出现问题

转载 作者:行者123 更新时间:2023-11-30 16:14:48 24 4
gpt4 key购买 nike

在 Ubuntu 上工作

我的代码有问题,但我不知道如何修复。也许有一个功能可以帮助我。

我想输入一个字符串,然后我的程序需要检查它是否是1到1000之间的数字。如果有字母或符号

这是我的代码:

    char tab[200]="";
int i;
scanf("%199[^\n]s",tab);
for(i=0;i<200;i++)
{
if(tab[i] >= 'A' && tab[i]<='Z')
{
printf("Big letters\n");
}
else if(tab[i] >= 'a' && tab[i]<='z')
{
printf("Small letters\n");
}
}
if(strlen(tab) == 4 && tab[3] > 0 && tab[2] > 0 && tab[1] > 0 && tab[0] > 1)
{
printf("Bigger then 1k\n");
}
else if(strlen(tab) > 4)
{
printf("Longer then 4 chars\n");
}

它无法正常工作,而且也不包含符号...

我找到了这样的代码,但我不知道如何使我的号码小于 1001

    char input[MAXINPUT] = "";
int length,i;
int number;



printf(" id: \n");
fgets(input, MAXINPUT, stdin);
number = atoi(input);
length = strlen (input);
for (i=0;i<length; i++)
if (!isdigit(input[i]))
{
printf ("Entered input is not a number\n");
exit(1);
} else if (number < 1001)
printf ("Given input is a number\n");

不确定我是否在这里正确使用了fgets

在你将我发送到here之前,请阅读我的问题

最佳答案

使用这个..也许这有帮助。您可以根据自己的选择进行修改。

#include<string.h>              // header file for strlen()
void method()
{
char tab[200]="";
int i;
scanf("%199[^\n]s",tab);
for(i=0;i<strlen(tab);i++) // Loops only to the lenght of total vlaues in array
{
if(tab[i] >= 65 && tab[i]<=90) // Ascii Value of Capital Ltrs
{
printf("Big letter\n");
}
else if(tab[i] >= 97 && tab[i]<=122) // Ascii Value of Small Ltrs
{
printf("Small letter\n");
}
else if(tab[i] >= 48 && tab[i]<=57) // Ascii Value of Numbers
{
printf("Number\n");
}else // of else other numebrs are all Symbols but can be
{
printf("Symbols\n");
}

}

}

关于c - 仅输入 1 到 1000 之间的数字时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57411056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com