#include<stdio.h>
int main()
{
int o,i,t,j;
scanf("%d%d",&o,&i);
i=t*4+j*2;
o=t+j;
printf("%d,%d\n",t,j);
}
#include<stdio.h>
int main()
{
int o,i,t,j;
scanf("%d%d",&o,&i);
i=t*4+j*2;
o=t+j;
printf("%d,%d\n",t,j);
}
看样子应该是想解决鸡兔同笼问题。
先说个非核心问题:这里的变量可以看出来
t
和j
分别表示兔和鸡。但i
和o
意义就不明确了。而且o
很容易和数字0
混淆,所以尽量不要使用单独的o
来作为变量名。由于头和脚的拼音简称也是t
和j
,所以这里暂时改为英文的h
和f
来表示(但实际上开发时不应该拼音和英文混用,而且变量名最好用单词或词组)C语言不能自己解方程,所以需要先自己推导出来
t
和j
的函数表示,这里推导公式就上面提到了变量$$ \begin{align} &\left\{ \begin{aligned} h & = t \times 4 + j \times 2\\ f & = t + j \end{aligned} \right. \\ \Rightarrow &\left\{ \begin{aligned} t&=\frac{f-2h}2\\ j&=\frac{4h-f}2 \end{aligned} \right. \end{align} $$
按推导出来的写程序(代码里用明确意义的单词):
不过一般来说,用程序解鸡兔同笼问题并不是要自己把方程解出来,而是采用程序比较擅长的处理方式:循环+判断