首页 新闻 会员 周边

请各位大侠帮忙解答

0
悬赏园豆:60 [已解决问题] 解决于 2011-10-30 20:29
 1 //将华氏温度转换为摄氏温度
2 //第一种
3 #include<stdio.h>
4 这里为什么不用命名空间?
5 int main()
6 {
7   int c, f;
8   double c, f;
9   printf("f=");
10   scanf("%lf", &f);//(%lf) 是什么?(&f)又是什么?scanf有什么作用?
11   c = (f-32)/1.8;
12   printf("c=%lf\n", c);//这句完全不懂?
13
14   return 0;
15 }
16
17
18 //第二种
19 //这样写为什么不行?
20 #include<iostream>
21 using namespace std;
22 int main()
23 {
24   double a;
25   cout<<"华氏温度为:"<<endl;
26   cin>>a;
27   double b=5*(a-12)/9;
28   cout<<"摄氏温度为:"<<b<<endl;
29   return 0;
30 }

详细点谢谢^^

C++入门菜鸟的主页 C++入门菜鸟 | 初学一级 | 园豆:48
提问于:2011-10-29 12:25
< >
分享
最佳答案
0

第一种用的是c语言规范
printf 和 scanf包含在stdio域名下面
第二种用的是c++规范
cout和cin包含在std域名下面
如果开头不用using namespace std;
那后面用到的cout和cin前面加上std::也是可以编译运行成功的

(%lf) 是什么?
是double类型
(&f)又是什么?scanf有什么作用?
你声明了一个变量的名字是f,&这个符号式取地址的意思
意思就是吧你从控制台的数据保存到这个地址里面
printf("c=%lf\n", c);
这个是输出到控制台引号里面没有%的你就直接读也就是c=接着遇到了一个%lf就是吧后面的变量以double类型输出
最后的解说就是c=(c的值)最后\n是换行的意思
做好建议楼主还是去慢慢研究一下c基础
没有好的基础后面会更加的难
收获园豆:30
唯吴独尊 | 小虾三级 |园豆:707 | 2011-10-29 21:34
其他回答(3)
0

第一种是C语言,第二种是C++

收获园豆:5
artwl | 园豆:16736 (专家六级) | 2011-10-29 13:38
0

建议你先去看下基本的C语言书

收获园豆:5
dumbdonkey | 园豆:210 (菜鸟二级) | 2011-10-29 16:55
0

第一个使用C语言写的肯定不会用using了,

scanf功能和count相同,

&为地址,

最后一句是输出的语句

 

第二个应该能跑得起来,不过

cout<<"华氏温度为:"<<endl;不会有输出
华氏温度为:
收获园豆:20
喬喬AI | 园豆:996 (小虾三级) | 2011-10-29 17:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册