我这样写为什么错了
论文问答
1
国家给出了 8 岁男宝宝的标准身高为 130 厘米、标准体重为 27 公斤;8 岁女宝宝的标准身高为 129 厘米、标准体重为 25 公斤。 现在你要根据小宝宝的身高体重,给出补充营养的建议。 输入格式: 输入在第一行给出一个不超过 10 的正整数 N,随后 N 行,每行给出一位宝宝的身体数据: 性别 身高 体重 其中性别是 1 表示男生,0 表示女生。身高和体重都是不超过 200 的正整数。 输出格式: 对于每一位宝宝,在一行中给出你的建议: 如果太矮了,输出:duo chi yu!(多吃鱼); 如果太瘦了,输出:duo chi rou!(多吃肉); 如果正标准,输出:wan mei!(完美); 如果太高了,输出:ni li hai!(你厉害); 如果太胖了,输出:shao chi rou!(少吃肉)。 先评价身高,再评价体重。两句话之间要有 1 个空格。
#include<stdio.h>
int main()
{
int n,i,s,t,x;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(x==1)
{
scanf("%d",&s);
if(s<130)
printf("duo chi yu!");
if(s==130)
printf("wan mei!");
else{
printf("ni li hai!");}
printf(" ");
scanf("%d",&t);
if(t<27)
printf("duo chi rou!\n");
if(t=27)
printf("wan mei!\n");
else
printf("shao chi rou!\n");
if(x==0)
{
scanf("%d",&s);
if(s<129)
printf("duo chi yu!");
if(s==129)
printf("wan mei!");
else{
printf("ni li hai!");}
printf(" ");
scanf("%d",&t);
if(t<25)
printf("duo chi rou!\n");
if(t=25)
printf("wan mei!\n");
else
printf("shao chi rou!\n");
}
}
}
return 0;
}
问下我这样写为什么错了呢
-
c
include
int main() { int n, i, s, t, x, a;
scanf("%d", &n); for(i = 1; i <= n; i++) { scanf("%d", &x); if(x == 1) { a = 0; } else { a = 1; } scanf("%d", &s); s = s + a; if(s < 130) { printf("duo chi yu!"); } else if(s == 130) { printf("wan mei!"); } else { printf("ni li hai!"); } printf(" "); scanf("%d", &t); t = t + (a << 1); if(t < 27) { printf("duo chi rou!\n"); } else if(t == 27) { printf("wan mei!\n"); } else { printf("shao chi rou!\n"); } } return 0;
} ```
-
if不加else就会这样 你要保证总能进入唯一的分支,不要进了一个又进另一个,这样不就多次输出不同的结果了吗
发表回复