是否可以忽略" scanf_s"中的某些字符?

时间:2016-12-05 01:09:51

标签: c character scanf letters

所以这是我的代码。这是一项学校作业。我不得不制定一个程序,用巴比伦人开发的方法来计算数字的平方根,这不是重要的部分。我想知道的是,如果我可以忽略scanf中的字母,那么当我输入一封信时,它就不会在我的终端中疯狂。欢迎任何帮助,非常感谢。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double root_Approach(double s); // defines the two functions 
void ask_Number(void);

int main() {

    ask_Number(); // calls function ask_Number

    printf("\n\n");
    system("pause");
    return 0;
}

double root_Approach(double s) {

    double approach;
    approach = s;
    printf("%.2lf\n", s);       // prints initial value of the number

    while (approach != sqrt(s)) {           // keeps doing iteration of this algorithm until the root is deterimened

        approach = (approach + (s / approach)) * 0.5;

        printf("%lf\n", approach);
    }

    printf("The squareroot of %.2lf is %.2lf\n",s, sqrt(s)); // prints the root using the sqrt command, for double checking purposes

    return approach;
}

void ask_Number(void) {

    double number;

    while (1) {
        printf("Input a number greater than or equal to 0: "); // asks for a number
        scanf_s("%lf", &number); // scans a number

        if (number < 0) {
            printf("That number was less than 0!!!!!!\n");
        }
        else {
            break;
        }
    }
    root_Approach(number);
}

0 个答案:

没有答案