|
float 为 浮点型函数
看完教程 琢磨写一个简单计算器
加减乘都好做
唯一除法研究了几个小时
printf("÷号回车代替 直接输入需要乘与被乘数即可\n请输入..");
scanf_s("%d%d", &q, &w);
printf("%d ÷ %d =%lf \n",q, w, (float)q / w);
代码 q,w 为 申明的两个int型变量, 括号中第一个%d为q的输入储存值 第二个%d为w的输入储存值
后面的q/w 为做乘法 一直再解决的问题就是,1除以2 怎么能显示0.5,代码中 (float)q / w); 这一句就是关键 float
float放到q/w前面意思为 整数型强制转换成浮点型
说说犯过的错误
刚开始的思路是先申明一个float型的变量 然后用int型变量 两者运算 结果大家可想而知
又想着既然除法 那么都用float 申明变量 可惜还是不好使 编译后直接输出0.00..x.0.00...=0.00...
然后想着 在每个变量前 把int型强制转换成整数型 语法也就是 ,(float)(q),(float) (w), (float)(q) /(float) (w));
没办法 哈哈 能力有限 就不一一列举犯过的二逼型错误
解决办法 就是在 运算q/w前面(float)q/w 完美解决问题 各种除法
- #include <stdio.h>
-
- int main(int argc, char const*argv[])
-
- {
- int a, q = 0, w = 0;
- printf("计算乘法请输入:1\n\n计算除法请输入:2 \n\n计算加法请输入:3\n\n计算减法请输入:4\n\n");
- scanf_s("%d", &a);
- if (a == 1)
- {
- printf("x号回车代替 直接输入需要乘与被乘数即可\n请输入..");
- scanf_s("%d%d", &q, &w);
- printf("%d x %d = %d\n", q, w, q*w);
- }
- else if (a == 2)
- {
- printf("÷号回车代替 直接输入需要乘与被乘数即可\n请输入..");
- scanf_s("%d%d", &q, &w);
- printf("%d ÷ %d =%lf \n",q, w, (float)q / w);
-
-
- }
- else if( a == 3)
- {
- printf("+ 号回车代替 直接输入需要乘与被乘数即可\n请输入..");
- scanf_s("%d%d", &q, &w);
- printf("%d + %d = %d\n", q, w, q+w);
- }
- else if ( a == 4 )
- {
- printf("- 号回车代替 直接输入需要乘与被乘数即可\n请输入..");
- scanf_s("%d%d", &q, &w);
- printf("%d - %d = %d\n", q, w, q-w);
- }
- return 0;
- }
复制代码
此处代码我觉得用switch case 语句实现我觉得比这个要完美
个人是为了练习各种语句所以用 if 来写的
因为还是新手在自学阶段,当然对于大牛可能还有更多的方法实现 欢迎各位留言探讨
|
上一篇: 关于数组一些理解下一篇: 关于C++中vector数组的首地址问题
|