我如何通过提供一些输入来停止该程序?

问题描述 投票:0回答:1

我试图从输入中过滤掉整数,而不使用getchar()函数,确切地说,我试图从1x ^ 2 + 3x ^ 6 + 5x ^ 0读取系数和幂,这就是我最终编写该程序时,它不是完整的程序,应该是程序的一部分。

int main(){
    int a , b, i = 0, n;
    char c[2];
    while(5){
        if(scanf("%1s", c) == 1){
            if( (n = atoi(c)) != 0 || (*c == 48) ){
               printf("%d", n);
            }
        }
    }
    return 0;
}

那么正确的做法是什么?有哪些修改?谢谢:)

c scanf atoi
1个回答
0
投票

如果此1x^2 + 3x^6 + 5x^0是您的准确输入,则可以使用scanf进行扫描。

    int powers[3];
    int coefficients[3];
    if (scanf("%dx^%d + %dx^%d + %dx^%d", &coefficients[0], &powers[0], &coefficients[1], &powers[1], &coefficients[2], &powers[2]) != 6)
    {
        exit(EXIT_FAILURE);
    }

© www.soinside.com 2019 - 2024. All rights reserved.