c语言编程中连续按回车输入数据问题
题目为:输入一个华氏温度F,要求输出摄氏温度C.公式为:C=5/9*(F-32)第一行输入一个N,下面有N行,每行是一个一个华氏温度输出共N行,每行输出C,取两位小数.S...
题目为:
输入一个华氏温度F,要求输出摄氏温度C. 公式为: C = 5/9*(F-32)
第一行输入一个N,下面有N行,每行是一个一个华氏温度
输出共N行,每行输出C,取两位小数.
Sample Input
3
1
2
3
Sample Output
-17.22
-16.67
-16.11
ps:我其它都会,就是每次只能输入一个数据,然后电脑给出一个数据,不能连续输入,怎么解决?
我的代码:
#include<stdio.h>
int main()
{
float a,b;
while(scanf("%f",&a)!=EOF)
{
b= 5/9.0*(a-32);
printf("%.2f\n",b);
}
return 0;
} 展开
输入一个华氏温度F,要求输出摄氏温度C. 公式为: C = 5/9*(F-32)
第一行输入一个N,下面有N行,每行是一个一个华氏温度
输出共N行,每行输出C,取两位小数.
Sample Input
3
1
2
3
Sample Output
-17.22
-16.67
-16.11
ps:我其它都会,就是每次只能输入一个数据,然后电脑给出一个数据,不能连续输入,怎么解决?
我的代码:
#include<stdio.h>
int main()
{
float a,b;
while(scanf("%f",&a)!=EOF)
{
b= 5/9.0*(a-32);
printf("%.2f\n",b);
}
return 0;
} 展开
6个回答
展开全部
楼主的程序中的while循环语句完成的功能是从标准输入中逐一读入内容,再输出,因此,“每次只能输入一个数据,然后电脑给出一个数据,不能连续输入”。
如果需要达到连续输入,连续输出的功能,那么程序中必须增加代码用于保存连续的输入数据,然后再依次换算这些数据,连续输出。比如:将主函数体换成如下代码
int main()
{
int N;
int i;
float *a;
float b;
scanf("%d", &N);
a = (float *)malloc(N, sizeof(float));
for(i = 0; i < N; i++) // 读入
{
scanf("%f", &a[i]);
}
for(i = 0; i < N; i++) // 换算和输出
{
b= 5/9.0*(a[i]-32); // 换算
printf("%.2f\n", b);
}
free(a);
return 0;
}
如果需要达到连续输入,连续输出的功能,那么程序中必须增加代码用于保存连续的输入数据,然后再依次换算这些数据,连续输出。比如:将主函数体换成如下代码
int main()
{
int N;
int i;
float *a;
float b;
scanf("%d", &N);
a = (float *)malloc(N, sizeof(float));
for(i = 0; i < N; i++) // 读入
{
scanf("%f", &a[i]);
}
for(i = 0; i < N; i++) // 换算和输出
{
b= 5/9.0*(a[i]-32); // 换算
printf("%.2f\n", b);
}
free(a);
return 0;
}
展开全部
问题出现在scanf,因为它读到回车就停止,却把回车留在缓冲区,下一次再来时,回车还在,它就继续把回车留着,所以什么数据都没读到就又停了,这是它的设计造成的,可以在循环中用getch()函数把每一次的回车去掉,就可以解决了,比如在printf("%.2f\n",b); 一行后加getch();就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int N,dat;
scanf("%d", &N);
while (N--) {
scanf("%d", &dat);
......
}
用循环来实现多组输入,就可以了。
scanf("%d", &N);
while (N--) {
scanf("%d", &dat);
......
}
用循环来实现多组输入,就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把输入写入到while循环中
比如while((c=getchar()) != EOF)
{
code。。。
}
比如while((c=getchar()) != EOF)
{
code。。。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
N是确定的数值么?要是已知的数值可以用数组存放!如果是未知的数值那就要用链表来解决了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询