b, b d, d c, c e" example: 343, -6ren">
gpt4 book ai didi

c - 输入整数不会因非整数而停止

转载 作者:行者123 更新时间:2023-11-30 20:35:01 24 4
gpt4 key购买 nike

我有一个程序,我在其中输入整数,直到输入非整数为止。代码需要打印满足以下条件的整数:

integer "abcde": "a > b, b < c, c > d, d < e" or "a < b, b > c, c < d, d > e"
example: 343, 4624, 6231209

我已经写了这个,它适用于大多数整数,但不知何故它不适用于某些整数。

#include <stdio.h>
int main()
{
int a;
while (scanf("%d", &a))
{
int a1 = a;
int cifra = 0, cifra1 = 0, cifra2 = 0;
while (a1 > 0)
{
cifra = a1 % 10;
cifra1 = (a1 / 10) % 10;
cifra2 = (a1 / 100) % 10;
a1 = a1 / 10;

if (cifra == cifra1 || cifra1 == cifra2)
{
break;
}

if ((cifra < cifra1 && cifra1 > cifra2) || (cifra > cifra1 && cifra1 < cifra2)) {

printf("%d\n", a);
break;

}
else
{
break;
}
}
}
return 0;
}

最佳答案

自己解决了

#include <stdio.h>
int main()
{
int a;
int cifra = 0, cifra1 = 0, cifra2 = 0;
int a1;
while(scanf("%d", &a))
{


int a1 = a;
while(a1 > 0){
if(a1 <= 9)
{
break;
}
cifra = a1 % 10;
cifra1 = (a1 / 10) % 10;
cifra2 = (a1 / 100) % 10;

if((cifra > cifra1 || cifra1 > cifra)&&cifra2 == 0)
{
printf("%d\n", a);
break;
}

if((cifra < cifra1&&cifra1 > cifra2) || (cifra > cifra1&&cifra1 < cifra2))
{
a1 = a1 / 10;;

}
else
{

break;
}



}



}

return 0;
}

关于c - 输入整数不会因非整数而停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40677433/

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