应该是while (H <= M)
H 和 M 初始都是10000
你写H < M 一开始循环条件就不成立,也就一次也不会循环
#include<stdio.h>
#include<math.h>
int main()
{
int year=0;
float x=0.1,y=0.05;
double A=10000,H=A,M=A;
while(H <= M) // < 改成 <= 即可
{
M += A*x;
H += y*H;
year++;
}
printf("小黑的钱要%d年才能超过小明\n",year);
return 0;
}