C编程解答

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:50:29
题目:
有三个房子 各为 A B C 三个房子 A房子很多人 B房子很多人 兴建的C房子需要缓解A B住房的压力 每个房子只能住30人
用户输入A,B房子人数 若A或B房子人数多余30人者多余的人数转到C房子 用户输入A,B住房人数后 上报C房子现有多少人

我写了一段 不过不对 为什么? WIN—TC 写的 我新手
main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
if(a&&b>30)
{
printf((a-30)+(b-30)=%d,c);
}
else
{
printf(c=0);
}
getch();
}

//请用如下代码测试:
#include <stdio.h>
#include <ctype.h>

#define MAX_PERSON 30

int main ()
{
int A=0, B=0, C=0;

printf( "请输入A房子人数:");
scanf( "%d", &A);
printf( "请输入B房子人数:");
scanf( "%d", &B);

if ( A+ B > 90 )
{
printf( "A,B房子人数太多! 超过三个房子的总人数: %d", 3 * MAX_PERSON );
return 0;
}

C+= ( A>30) ? A-30 :0;
C+= ( B>30) ? B-30 :0;

printf( "C房子住:%d人\n任意键退出...", C);

getchar();
getchar();
return 0;
}

if(a>30||b>30)
a 或者 b 的房子超过30人

字符串要 加双引号

void main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
if(a>30||b>30)
{
printf("c=%d",(a-30)+(b-30));
}
else
{
printf("c=0");
}
getch();
}

if(a&&b>30) 错了
如果你的意思是a,b都大于30,