970334425 发表于 2020-6-4 22:09:49

求助如何运用c语言求解这道题?

题目中的特殊字符可以使用其余字母代替,我看着感觉逻辑不难,但是语法一直出错,麻烦大家了

小甲鱼的铁粉 发表于 2020-6-4 22:25:05

有点看不懂{:10_266:}

970334425 发表于 2020-6-4 22:27:50

本帖最后由 970334425 于 2020-6-4 22:29 编辑

这定义方法是不是错了啊,怎么后面用R的时候说没有定义?

永恒的蓝色梦想 发表于 2020-6-4 22:40:59

970334425 发表于 2020-6-4 22:27
这定义方法是不是错了啊,怎么后面用R的时候说没有定义?

发完整代码

小甲鱼的铁粉 发表于 2020-6-5 07:20:57

我觉得这个应该是楼主期末的c实验题吧,解决实际问题的实验题,楼主可以发一下老师给你们的要求

970334425 发表于 2020-6-5 07:30:17

小甲鱼的铁粉 发表于 2020-6-5 07:20
我觉得这个应该是楼主期末的c实验题吧,解决实际问题的实验题,楼主可以发一下老师给你们的要求

这道题就是手动输入一堆数字,然后判断看是否满足条件

小甲鱼的铁粉 发表于 2020-6-5 08:04:17

970334425 发表于 2020-6-5 07:30
这道题就是手动输入一堆数字,然后判断看是否满足条件

好吧

405794672 发表于 2020-6-5 10:10:11

额,,,,请问一下,第一个符号是啥?fh???还有值为2乘以d分之遮塔的那个符号是啥?

970334425 发表于 2020-6-5 10:14:34

405794672 发表于 2020-6-5 10:10
额,,,,请问一下,第一个符号是啥?fh???还有值为2乘以d分之遮塔的那个符号是啥?

第一个字符是hf,你说的那个字符读作一目设路,就是一个希腊字母,这些字母都可以用其他字母代替

970334425 发表于 2020-6-5 10:17:07

本帖最后由 970334425 于 2020-6-5 10:18 编辑

#include <stdio.h>
#include<math.h>
#define PAI 3.1415926535
#define g 9.8

double Fun_c(Q);
double Fun_c(Q)
{
        double p,hf,l,d,v,a,b,Q,Re,e,y,s;//s为圆周率
       
        printf("请依次输入密度p、沿程阻力损失hf、管程长度l、直径d、运动黏度v、粗糙度a、精度b、流量Q、雷诺数Re、e、沿程阻力系数y\n");
        scanf("%f%f%f%f%f%f%f%f%f%f%f",&p,&hf,&l,&d,&v,&a,&b,&Q,&Re,&e,&y);
        Re=(4*Q)/(s*v*d);
        e=(2*a)/d;
        if(Re<=2000)
        {
                y=64/Re;       
        }
        else if(2000<Re<(59.7/(pow(e,8/7))))
        {
                y=(0.3164/(pow(Re,0.25)));
        }
        else if((59.7/pow(e,8/7))<Re<((665-765*log10(e))/e))
        {
                double z;
                z=1/pow(y,0.5);
                z=(-1.8)*log10((6.8/Re)+pow((a/d)/3.7,1.11));
        }
        else if(Re>(665-765*log10(e))/e)
        {
                y=1/pow(2*log10((3.7*d)/a),2);
        }

        double Q1;
        Q1=pow((g*pow(PAI,2)*pow(d,2)*hf)/(8*y*l),0.5);

}

void main()
{
       
}
定义double Q1 的时候出现了错误,说int到double会数据丢失,可是我定义的就是double啊

405794672 发表于 2020-6-5 10:23:47

970334425 发表于 2020-6-5 10:17
#include
#include
#define PAI 3.1415926535


我不懂你的一大堆符号。这是简单的乘除,还好。你的那个“入”符号没有声明变量啊。题目这样。

你的这个代码问题是这样的。你定义的Q1是double,但pow的值是int.它说int到double就是这个意思。你用double接收了int.可能你的double容量没有int多。所以数据可能丢失。

970334425 发表于 2020-6-5 10:26:44

405794672 发表于 2020-6-5 10:23
我不懂你的一大堆符号。这是简单的乘除,还好。你的那个“入”符号没有声明变量啊。题目这样。

你的这 ...

那应该如何解决呢

970334425 发表于 2020-6-5 10:29:07

405794672 发表于 2020-6-5 10:23
我不懂你的一大堆符号。这是简单的乘除,还好。你的那个“入”符号没有声明变量啊。题目这样。

你的这 ...

这都是一些数学符号,可以用其他字母随便替代的,里面不能替代的只有lg表示的是对数,g表示的是重力加速度,那个入被我用y替代了

970334425 发表于 2020-6-5 10:31:25

本帖最后由 970334425 于 2020-6-5 10:35 编辑

405794672 发表于 2020-6-5 10:23
我不懂你的一大堆符号。这是简单的乘除,还好。你的那个“入”符号没有声明变量啊。题目这样。

你的这 ...

那我改为long double可以吗

970334425 发表于 2020-6-5 10:33:23

后面需要输出两个Q进行比较,我想用函数调用的方法,但是有点不知道怎么写代码,求告知

405794672 发表于 2020-6-5 10:54:28

970334425 发表于 2020-6-5 10:33
后面需要输出两个Q进行比较,我想用函数调用的方法,但是有点不知道怎么写代码,求告知

输出两个Q比较?你上面写的那个函数是干嘛用的?咋没有返回值?如果是计算用。那么输入输出可以在main里面。然后调用它计算。这样就可以比较了。你可以输入两个值,然后调用比较函数。其实也不用函数,两个变量分别存储计算出来的值,把两个变量>或者<不就出来了。
页: [1]
查看完整版本: 求助如何运用c语言求解这道题?