C语言中的循环结构的条件

在main()函数中使用一个循环,让用户重复输入浮点数类型变量,当用户输入q或其他非数字时,循环结束。这样的要求如何实现?

#include <stdio.h>
int main()
{
    double n;
    while(scanf("%f",&n))
    {    
    //执行语句 
    }
    printf("结束");
    return 0;
}

#include <stdio.h>
int main()
{
    double a;
    while (scanf("%lf", &a)){}
    return 0;
}
#include<stdio.h>
int main() {
    float a;
    while (scanf("%f", &a));
}