这个题你写的复杂了,你输入的数n减去8,就是剩下需要换的。假设剩下需要换的是m=n-8;假设1换x,2换y,5换z;然后让x,y,z从0开始一直套和大于m就下一轮,等于m就计数加1,下一轮。
你的x定义的是double,输入时应该用scanf("%lf",&x)