C语言新手求教

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:49:17
鸡兔同笼问题
main()
{
int h,f,x,y;
printf("please input the number of heads and feet\n");
scanf("the heads is %d,the feet is %d",&h,&f);
x=2*h-f/2;
y=f/2-h;
printf("the number of hen is %d,the number of rabbit is %d\n",x,y);
}
这是小弟编写的鸡兔同笼问题 编译的时候没错 可是运行的时候我输入5,14按理说应该输出3,2的 可是输出的事好大一个数 还有一个是负的 问题出在哪里呢?望高手指教

这里的第一个参数不可以有多余的说明性文字只能是%d之类的数据,这个可以参看MSDN里scanf函数的Remark部分,
参数前不要加多余的话

#include<stdio.h>
void main()

scanf("the heads is %d,the feet is %d",&h,&f);有错
这里的第一个参数不可以有多余的说明性文字只能是%d之类的数据,这个可以参看MSDN里scanf函数的Remark部分,
改成
scanf("%d %d");
就可以了.

另,为了更友好,可以分成两次输入来处理
printf("please input the number of heads: ");
scanf("%d",&h);
printf("\nplease input the number of feet: ");
scanf("%d",&f);