今天在学习C语言循环时遇到的问题
来源:互联网 发布:淘宝网图标图片大全 编辑:程序博客网 时间:2024/05/18 16:17
今天在学习C语言的循环 做《C primer plus》第六章的课后习题的时候,课后习题有这样一道题:编写一个程序,要求输入两个浮点数,然后打印出用两者的差值除以二者的成绩所得的结果在用户键入非数字的输入之前程序循环处理每对输入值。
没有好好看书的我就大概的码了一段代码:
#include <stdio.h>int main(){float a,b;float sum;printf("请输入两个浮点数:\n");scanf("%f%f",&a,&b);while(scanf("%f%f",&a,&b)==2){c=(a-b);d=(a*b);sum = c/d;printf("sum=%f\n",sum);printf("请继续输入,输入非数字退出:\n");scanf("%f%f",&a,&b);}return 0;}运行后发现这段代码必须要输入四个浮点数后才能算出值,在经过网上的查询后我发现,这段代码等于是要求输入了两次a,b的值,其实只需要while循环里的scanf函数就可以了,于是我进行修改:
#include <stdio.h>int main(){float a,b;float c,d;float sum;printf("请输入两个浮点数:\n");while(scanf("%f%f",&a,&b)==2){c=(a-b);d=(a*b);sum = c/d;printf("sum=%f\n",sum);printf("请继续输入,输入非数字退出:\n");}return 0;}程序就正常的完成了题目的要求,我是这样理解的:while里的scanf函数既判断了是否输入了两个浮点数,又可以接收用户输入的两个浮点数。如果理解有误,有问题希望大家指正。
0 0
- 今天在学习C语言循环时遇到的问题
- 在学习C语言时遇到的一些细节方面的问题
- c语言学习中遇到的问题
- C语言学习期间遇到的所有问题及解决-在15PB
- 今天在使用MQ时遇到的CCSID问题
- C语言遇到的问题
- 一些学习单片机和C语言遇到的问题
- C语言:近日学习遇到的问题整理
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- 今天遇到的问题
- java日志记录的5条规则
- EMR、EHR和PHR的定义与对比
- poj3641
- 类加载
- 非行内元素与行内元素转换的几种方法
- 今天在学习C语言循环时遇到的问题
- git工具使用
- 成为优秀程序员的十条黄金法则
- Eclipse打开Package Explorer
- centos7/rhel7设置笔记本触摸版
- 最短路径floyd算法
- 关于iwpriv :no private ioctls 的问题
- Android之LayoutParams的用法
- POJ 2253 —— Frogger