源码:
#include <stdio.h>
double tem (double x);
const double A = 1.8;
const double B = 32.0;
const double C = 273.16;
int main (void)
{
double y;
printf("请输入华氏温度:");
scanf("%lf", &y);
while(sizeof(y)<8)
{
printf("华氏温度是:%0.2f ,摄氏温度是:%0.2f ,绝对温度是:%0.2f\n", y, tem (y) - 273.16, tem (y));
printf("请输入华氏温度:");
scanf("%lf", &y);
}
return 0;
}
double tem (double x)
{
double ce, ke;
ce = A * x + B;
ke = ce + C;
return ke;
}
这样写不能达到效果,求解?
有别的实现方法么
追答scanf有返回值的,你要读取浮点数,但是输入了字母,这个时候scanf的返回值是0,正确输入时非零值。可以利用这个返回值作为循环判断条件
有别的实现方法吗
追答有啊,输入按字符串录入,后面再对字符串经行解析,具体代码我就不写了,只是提供思路,写起来很容易
C语言:当用户输入q或其他非数字值时,循环结束?请问这样如何实现?
不能,因为y都double,sizeof(y)相当于sizeof(double),所以这个判断没起作用 如果你输入字母,结果会一直是0 想结束就别用while循环了
当用户输入q或其他非数字值时,循环结束。怎么表示非数字值……?
比如用户输入的存放在变量String str里,那么用str.indexOf("0123456789") == -1则表示输入的不是数字
C语言循环语句中怎么实现——用户输入非正数时程序结束?
int n;while(~scanf("%d",&n) && n>=0){ 循环体}
c语言编程跳不出循环!本来输入字符啊什么非数字时循环该结束的!
} scanf的返回值由后面的参数决定 while(2==scanf("%f%f",&number1,&number2))如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为EOF。且返回值为int型....
C语言怎么设计一个函数使输入某个值时强制结束程序??
2.写出主函数void main(){},在函数体内写出如下代码:int number = 0; while(true) { printf("请输入数字:\\n"); scanf ("%d",&number); if (number == 1) { return; } } 3.点击红叹号测试。程序清单:\/\/ 停止循环.cpp : Defines the entry point for the console ...
让一个程序无限循环,但是当你输入一个字符时就结束循环的语句
不断接受用户输入,只要用户输入6就退出循环。我就简单的写一下,具体的还得根据你的整个程序的要求来。include <stdio.h>void main(){ while (getchar() != '6') { }} 希望能帮到你,谢谢,满意的话就采纳吧
C语言 如何使用户输入end后跳出循环
strcmp(str,"end") str为你输入的字符串,比较两个字符串,相当返回0,即结束循环
c语言中数据输入错误了如何提示输入错误并实现要求重新输入
在C语言编程中,当用户输入错误时,需要一个机制来提示错误并要求用户重新输入。为此,可以使用一个无限循环,如下面的代码所示:while (1) { printf("请输入内容,输入错误时将提示并要求重新输入\\n");} 在这个循环内部,程序会不断地请求用户输入,并检查输入的有效性。如果输入无效,程序会输出一条...
C语言如何让程序一直不断运行直到按了某个键以后停止,代码怎么写?
可以参考下面的代码:include <stdio.h> include <conio.h> include <windows.h> main( ){ int p;while( ! _kbhit() ) { \/\/ run progs _cputs( "Please hit me ! \\n" );Sleep(500);} return 0;}
C\/C++语言中,在不确定用户输入数据个数的情况下来控制循环结束?
可以参考下面的代码:int main(){ int a[100],i=0,ch=0;printf("请输入一组整形数据(不超过100个):");do{ scanf("%d",&a[i++]);ch=getchar();}while(ch!='\\n');for(ch=0;ch<i;ch++)printf("%d\\n" , a[ch]);} ...