2351:计算酸的PH
公式: pH = -log10 [H+] PH值根据氢离子浓度求出
Ka = [H+] [acid ions] / [acid] 平衡常数K等于分解的氢离子和酸根离子乘积与未分解的酸分子的比值
输入格式: 常数 初始酸浓度 1摩酸分子分解出氢离子数 分解出酸根离子数
按公式计算即可。有点小麻烦。指数形式可以直接输入的。如用printf要用%e输入。
公式: pH = -log10 [H+] PH值根据氢离子浓度求出
Ka = [H+] [acid ions] / [acid] 平衡常数K等于分解的氢离子和酸根离子乘积与未分解的酸分子的比值
输入格式: 常数 初始酸浓度 1摩酸分子分解出氢离子数 分解出酸根离子数
按公式计算即可。有点小麻烦。指数形式可以直接输入的。如用printf要用%e输入。
#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int main()
{
int N;
double K;
double ori;
int m;
int n;
double H;
cin>>N;
for(int i=0;i<N;i++)
{
while(1)
{
cin>>K;
cin>>ori;
cin>>m;
cin>>n;
if(K==0&&ori==0&&m==0&&n==0)
break;
H = (sqrt(K*K+4*m*n*K*ori)-K)/2/n;
printf("%.3f\n",-log(H)/log((double)10));
}
if(i!=N-1)
printf("\n");
}
}