麻烦请教 我这段代码哪里错了?

jt770520 2011-11-17 03:46:30
#include <stdio.h>
#include <math.h>
#define zuidi 0
#define zuigao 300
#define step 20
void main()
{
int a,b;
a=zuidi;
while(a<=zuigao)
{
b=a*9/5+32;
step=a+20;
printf("%d%d",a,b);
}
}
...全文
63 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun2008good 2011-11-18
  • 打赏
  • 举报
回复
step是定义的宏!在代码编译的时候只是替代!只能作为一个不变量使用!你把它当着一个变量了
echizenryom 2011-11-17
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <math.h>
#define zuidi 0
#define zuigao 300
#define step 20
void main()
{
int a;
double b;
a=zuidi;
while(a<=zuigao)
{
b=a*(9/5.0)+32.0;

printf("%d %5.2f\n",a,b);
a+=step;
}
}
差别是因为输出a之前a改变了 所以才不同
ynwenta 2011-11-17
  • 打赏
  • 举报
回复
还有"\n"是不是搞丢了!反正我看着不爽!
ynwenta 2011-11-17
  • 打赏
  • 举报
回复
#define zuidi 0
#define zuigao 300
#define step 20
定义了不能赋值,要赋值只规定类型就好,楼主好好的肩查一下。
jt770520 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 qiang_jsj 的回复:]

引用 7 楼 jt770520 的回复:

引用 6 楼 qiang_jsj 的回复:

step = a + 20 改成 a = a + step
b = a * 9 / 5 + 32 改成 b = a * 9 / 5.0f + 32


#include <stdio.h>
#include <math.h>
#define zuidi 0
#define zuigao……
[/Quote]

#include<stdio.h>
void main()
{
  float c,f;
  printf(“请输入一个华氏温度:”)
  scanf(“%f”,&f);
  c=(5.0/9.0)*(f-32);
  printf(“摄氏温度为:%5.2f\n”);
}
和这个习题的结果有差别
Super_Franky 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jt770520 的回复:]

引用 6 楼 qiang_jsj 的回复:

step = a + 20 改成 a = a + step
b = a * 9 / 5 + 32 改成 b = a * 9 / 5.0f + 32


#include <stdio.h>
#include <math.h>
#define zuidi 0
#define zuigao 300
#define step 20
v……
[/Quote]
结果和期望值差多少?
jt770520 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qiang_jsj 的回复:]

step = a + 20 改成 a = a + step
b = a * 9 / 5 + 32 改成 b = a * 9 / 5.0f + 32
[/Quote]

#include <stdio.h>
#include <math.h>
#define zuidi 0
#define zuigao 300
#define step 20
void main()
{
int a,b;
a=zuidi;
while(a<=zuigao)
{
b=a * 9 / 5.0f + 32;
a=a+20;
printf("%3d%6d\n",a,b);
}
}
答案还是不对
Super_Franky 2011-11-17
  • 打赏
  • 举报
回复
step = a + 20 改成 a = a + step
b = a * 9 / 5 + 32 改成 b = a * 9 / 5.0f + 32
backbin 2011-11-17
  • 打赏
  • 举报
回复
step=a+20;
这个地方,step是常量不能为左值
xiejijun_05 2011-11-17
  • 打赏
  • 举报
回复

step=a+20; // a += step;
jt770520 2011-11-17
  • 打赏
  • 举报
回复
请问如果修改
bdmh 2011-11-17
  • 打赏
  • 举报
回复
step不能被修改
xiejijun_05 2011-11-17
  • 打赏
  • 举报
回复
你这个是死循环, a的值一直为0

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧