打印

这个程序报错是什么原因啊?自己找不出了!!

[复制链接]
1112|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a1995|  楼主 | 2017-3-20 21:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 a1995 于 2017-3-21 21:58 编辑

根据这个公式和数据,它的正确结果是1007.8A也就是说大约为1008A电流
下面有公式和数据,希望能与大家多多交流!!!


#include<stdio.h>
#include<math.h>
#define uint unsigned int
#define uchar unsigned char

void main()
{
        double T,C,K,P,N,l,r,b,q,U,I1,R0,S;
          R0=185e-3;
          S=3600;
          T=5;
          C=2100;
          K=3.35e5;
          P=900;
          N=3.14;
          r=0.0072;
          l=0.02;
          b=400;
          q=8940;
      U=(C*T+K)*P*N(l*l+2r*l)+b*(T+2)*q*N*r*r;
          I1=U/(R0*S);

          scanf("%f=\n\n\n\n",sqrt(I1));

}

报错信息:
D:\VC++6.0\MyProjects\jjj000\jjj000.c(20) : error C2146: syntax error : missing ')' before identifier 'r'

D:\VC++6.0\MyProjects\jjj000\jjj000.c(20) : error C2059: syntax error : ')'

jjj000.exe - 1 error(s), 0 warning(s)



沙发
a1995|  楼主 | 2017-3-20 21:18 | 只看该作者
呃,还有就是这个程序我总觉得编的哪里不对。请大神指导一下...谢谢!!!

使用特权

评论回复
板凳
943614033| | 2017-3-21 08:34 | 只看该作者
本帖最后由 943614033 于 2017-3-21 08:35 编辑

U=(C*T+K)*P*N(l*l+2r*l)+b*(T+2)*q*N*r*r;这个表达式中的2r是不是应该写成2*r?第一个N后面是不是也少个*?

使用特权

评论回复
地板
yklstudent| | 2017-3-21 14:31 | 只看该作者
K=3.35e5;
P=900;
楼主能先讲讲这两句后面的分号为什么不一样?

使用特权

评论回复
5
a1995|  楼主 | 2017-3-21 14:47 | 只看该作者
943614033 发表于 2017-3-21 08:34
U=(C*T+K)*P*N(l*l+2r*l)+b*(T+2)*q*N*r*r;这个表达式中的2r是不是应该写成2*r?第一个N后面是不是也少个* ...

哈哈,回去写写!!
谢谢!!!

使用特权

评论回复
6
a1995|  楼主 | 2017-3-21 14:49 | 只看该作者
yklstudent 发表于 2017-3-21 14:31
K=3.35e5;
P=900;
楼主能先讲讲这两句后面的分号为什么不一样?

呃这个~估计有汉字的分号和英文的分号!!回去改改!

使用特权

评论回复
7
yiilanying| | 2017-3-21 18:50 | 只看该作者
U=(C*T+K)*P*N*(l*l+2*r*l)+b*(T+2)*q*N*r*r;
          I1=U/(R0*S);
这样就可以了,不行把r换成其他变量试试

使用特权

评论回复
8
a1995|  楼主 | 2017-3-21 20:36 | 只看该作者
yiilanying 发表于 2017-3-21 18:50
U=(C*T+K)*P*N*(l*l+2*r*l)+b*(T+2)*q*N*r*r;
          I1=U/(R0*S);
这样就可以了,不行把r换成其他变量 ...

OK,我试试!谢谢!

使用特权

评论回复
9
a1995|  楼主 | 2017-3-21 20:37 | 只看该作者
等我试完了再来说结果~~~啦啦啦!我去试了!

使用特权

评论回复
10
a1995|  楼主 | 2017-3-21 21:06 | 只看该作者
多谢各位,程序现在已经运行了!哈哈!虽然和自己预想的不一样!结果是错的!估计是自己设定的数值有问题!

使用特权

评论回复
11
a1995|  楼主 | 2017-3-21 21:07 | 只看该作者
yiilanying 发表于 2017-3-21 18:50
U=(C*T+K)*P*N*(l*l+2*r*l)+b*(T+2)*q*N*r*r;
          I1=U/(R0*S);
这样就可以了,不行把r换成其他变量 ...

可以运行了!谢谢!

使用特权

评论回复
12
a1995|  楼主 | 2017-3-21 21:15 | 只看该作者
坑了,上传不了图片!只能说下结果了~
最后我把程序改成这样了:

#include<stdio.h>
#include<math.h>


void main()
{
          double T,C,K,P,N,l,r,b,q,U,I1,R0,S;
          R0=185e-3;
          S=3600;
          T=5;
          C=2100;
          K=3.35e5;
          P=900;
          N=3.14;
          r=0.0072;
          l=0.02;
          b=400;
          q=8940;
          U=(C*T+K)*P*N*(l*l+2*r*l)+b*(T+2)*q*N*r*r;
          I1=U/(R0*S);
           printf("%f=\n\n\n\n",I1);

}



输出的结果是:

1014.7539=
(PS:如果加上开方的话就是31.855203=)
Press any key to continue

使用特权

评论回复
13
yiilanying| | 2017-3-21 21:15 | 只看该作者
a1995 发表于 2017-3-21 21:07
可以运行了!谢谢!

scanf和printf是一对函数,scanf用于输入,printf用于输出,而 scanf("%f=\n\n\n\n",sqrt(I1));这样写并没有错,但你已经为变量赋值了,这样写没有什么必要吧!

使用特权

评论回复
14
a1995|  楼主 | 2017-3-21 21:22 | 只看该作者
这是一个计算融冰装置的计算公式:
I1=(C△T+K)P冰*3.14{(l-r)^2+2r(l-r)}+C'(△T+2)P导*3.14r^2;
再用他们的结果比上R0t之后开方。

使用特权

评论回复
15
a1995|  楼主 | 2017-3-21 21:31 | 只看该作者
在这里面导线半径r=0.0072m;
导线密度P导=8940KG/m^3;
导线比热C'=400J(Kg·℃);
线路直流电阻R0=0.000185Ω/m;
覆冰厚度l-r=0.02m;
初始温度-5度(导线温升是-5度到0度,也就是△T=5度);
冰的密度P冰=900Kg/m^3;
冰的比热C=2100J(Kg·℃);
熔化热K=3.35e5;
融冰时间t=3600s(1h);

使用特权

评论回复
16
a1995|  楼主 | 2017-3-21 21:34 | 只看该作者
yiilanying 发表于 2017-3-21 21:15
scanf和printf是一对函数,scanf用于输入,printf用于输出,而 scanf("%f=\n\n\n\n",sqrt(I1));这样写并 ...

恩恩,已经把它改成printf输出了!
但是感觉最后输出的结果格式不对啊~~~是xxx=的格式!

使用特权

评论回复
17
yangzj1974| | 2018-2-13 15:37 | 只看该作者
学习

使用特权

评论回复
18
yangzj1974| | 2018-2-13 15:38 | 只看该作者
学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

194

帖子

1

粉丝