C语言程序问题,求教

C语言程序问题,求教,第1张

#include <stdioh>

#define MAX 30

typedef struct

{

float MT; //数学

float EN;//英语

float PH;//物理

float SUM;//总分

float AVE;//平均分

int NUM;//编号

}Student;

void Input(Student s[],int len)

{

int i=0;

if(len<0)return;

for (i=0;i<len;i++)

{

printf("请依次输入学生编号为%d的数学,英语,物理分数(以,分开)\n",i+1);

s[i]NUM=i+1;

scanf("%f,%f,%f",&s[i]MT,&s[i]EN,&s[i]PH);

if (s[i]PH<0 )

{

printf("物理分数输入有误!请重新输入");

scanf("%f",&s[i]PH);

}

if (s[i]EN<0 )

{

printf("英语分数输入有误!请重新输入");

scanf("%f",&s[i]EN);

}

if (s[i]MT<0 )

{

printf("数学分数输入有误!请重新输入");

scanf("%f",&s[i]MT);

}

s[i]SUM =s[i]MT +s[i]EN +s[i]PH;

s[i]AVE =s[i]SUM/3;

}

}

void Output(Student s[],int len)

{

int i;

if(len<0)return;

printf("---------------------------------------------\n");

printf("| 编号| 数学| 英语| 物理| 总分| 平均分|\n");

for (i=0;i<len;i++)

{

printf("| %4d| %41f| %41f| %41f| %41f| %41f\n",

s[i]NUM,s[i]MT,s[i]EN,s[i]PH,s[i]SUM,s[i]AVE);

}

printf("----------------------------------------------\n");

}

void Sort(Student s[],int len)

{

int i,j;

if(len<0)return;

for (i=0;i<len;i++)

{

for (j=0;j<=i && j+1<len;j++)

{

if (s[j]SUM < s[j+1]SUM)

{

Student tmp;

tmp = s[j];

s[j] = s[j+1];

s[j+1] = tmp;

}

}

}

}

void main()

{

int len;

Student s[MAX]={-1};

printf("请输入人数:");

scanf("%d",&len);

len = len>=MAX MAX:len;

Input(s,len);

Output(s,len);

Sort(s,len);

Output(s,len);

}

大哥,你太猛了,PH=2你就进

水解酸化

了啊?

生物能

受得了啊?产酸菌一般在7左右会效果好些,而且污水经过水解酸化后,PH会进一步下降,太低了得话,进入好氧段好氧也受不了啊,所以尽量把PH控制在7多点比较好,生化一般的PH都需要控制在6~9的范围,必须调节PH。

这个是无法仿真的

首先PH值的控制需要加酸和加碱

这样就需要两个PID回路的

两个回路包括:PH变送器、控制阀等

模拟量本身就是不好仿真的

如果用最简单的位式控制,往往是达不到要求的

而且这种控制,如果回路数量没超过32路的话

S7-300系列的足够了

使用模拟量表示。

对于PLC而言,每一个模拟量都有一个固定的地址,这个地址是可以在程序中进行识别并计算的。模拟量是指变量在一定范围连续变化的量,也就是在一定范围(定义域)内可以取任意值(在值域内)。

模拟量的使用是plc控制中的一部分,模拟量种类一般有电压型和电流型两种。电流型相比于电压型更稳定,抗干扰能力较强。模拟量的使用也是有分辨率的。一般有12bit和14bit两种分辨率。

改成这样,程序通了,结果不一定对,调用函数要用function

function haha

clear all

clc

%Ka=input('please input Ka= ');

%Kw=110^-14;

% Open a file

%outfile='results/out_pHdat';

%outf=fopen(outfile,'w+');

n=100;

pH=zeros(1,n)

% Calculating (using a loop you can save this loop and calculate much faster using matrix)

for startCi=0:001:1;

[x1, pH1, x2, pH2]=newton_Convergence(startCi)

pH =-log10(x1);

%fprintf(outf,'%84f\n',ph(i));

end

% Close the file

%fclose(outf);

% Drawing

figure,plot([000:001:100],pH,'-')

title('pH to C ')

xlabel('C'), ylabel('PH')

%{

disp(['the answer is:x1 = '], [num2str(x1, '%7f\n')])

disp(['the answer is:pH1= '], [num2str(pH1,'%7f\n')])

disp(['the answer is:x2 = '], [num2str(x2, '%7f\n')])

disp(['the answer is:pH2= '], [num2str(pH2,'%7f\n')])

%}

% Newton Convergence 牛顿计算部分

function [x1, pH1, x2, pH2]=newton_Convergence(C)

Ka3=10^-12350;

Ka2=10^-7199;

Ka1=10^- 21480;

Kw=110^-14;

x0=53;

eer=002;

for i=1:1:100

if abs(eer)>0001

x1=x0-(x0^5+Ka1x0^4+(Ka1Ka2-CKa1-Kw)x0^3+(Ka1Ka2Ka3-2CKa1Ka2-Ka1Kw)x0^2-(3CKa1Ka2Ka3+Ka1Ka2Kw)x0-Ka1Ka2Ka3Kw)/(5x0^4+4Ka1x0^3+3(Ka1Ka2-CKa1-Kw)x0^2+2(Ka1Ka2Ka3-2CKa1Ka2-Ka1Kw)x0+3CKa1Ka2Ka3+Ka1Ka2Kw);

x0=x1;

end

pH1=-log10(x1);

end

for i=1:1:100

if abs(eer)>0001

x2=(-Ka1+sqrt(Ka1^2+4CKa1))/2

end

pH2=-log10(x2);

end

就大小来看,都是捆绑软件或者是其他软件要用到的一部分软件组合,应为某些软件要用到,你卸载之后你一启动那个软件,他就会驱动这样的组件软件的下载。没病毒的话没事。你可以在任务管理器中找到他们,看看他们是属于哪个软件的,如果直接辨别不出来,就在这个ph程序上右键,找到打开文件所在位置,就能找到它了。

以上就是关于C语言程序问题,求教全部的内容,包括:C语言程序问题,求教、我处理乳化液废水,PH=2进入水解酸化池,PH需不需要调节、用STEP7仿真西门子S7-400PLC控制发酵罐的PH值控制过程,现在急需要仿真LAD程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9342219.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存