#include <stdio.h>
int main()
{
int m,n,x,y,z=0,count;
while(scanf("%d %d",&m,&n)!=EOF)
{
count=0; //count每次循环都要赋初值,否则每次输入新数count的值会递加
for(x=0;x<=100;x++)//不要忘记等号
{
for(y=0;y<=100;y++)//不要忘记等号
{
z=(100-m*x-n*y)*2;
if(x+y+z==100)
count++;
}
}
if(count==0)
printf("no solution\n");//不要换行否则会出现Presentation Error
else
printf("%d\n",count);
} //while循环的后一个括号在这里放
return 0;
}
————————————————
版权声明:本文为CSDN博主「Garry_Xie」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mr__dp/article/details/53400541
这部分转载,但是思考了是否能够这样
先z=100-x-y,但是
错误的原因还是挺隐蔽的,因为z/2的话,按c语言的格式3/2=1,所以结果就不对了
加上条件就行了
1. 核心还是for循环进行逐个数值的检验
2.注意多组数据输入是scanf_s()!=EOF否则会超时
3.Ctrl+z按三次加enter可以结束循环
4.for(i=1;i<=10;i++) (连续三个for贴在一起也是一样)
for(i=1;i<=9;i++) {
/*...*/
}
等同于: