1.箱子匹配(选择)
每个箱子都有长宽高,我们需要判断一个箱子能否放入另一个箱子中。
例如有箱子A的尺寸是 3 x 4 x 5,箱子B的尺寸 是 5 x 6 x 4,经过比较判断,可以知道箱子A能够放入箱子B中,我们就说箱子A匹配箱子B。
注意,当两个箱子尺寸相等,我们也认为它们匹配。
输入
第一行输入参数T,表示有T个测试实例
第二行输入第1组实例的箱子A的长、宽、高,输入数值为小于1000的自然数
第三行输入第1组实例的箱子B的长、宽、高,输入数值为小于1000的自然数
以此类推
输出
如果两个箱子匹配,输出yes,否则输出no。逐行输出每一组的箱子匹配结果
#include <stdio.h>
int main()
{
int t,i;
int a,b,c,x,y,z,d;
scanf("%d",&t);
for(i=1;i<=t;i++){
scanf("%d %d %d",&a,&b,&c);
scanf("%d %d %d",&x,&y,&z);
if(a>b){
d=a;
a=b;
b=d;
}
if(a>c){
d=a;
a=c;
c=d;
}
if(b>c){
d=b;
b=c;
c=d;
}
if(x>y){
d=x;
x=y;
y=d;
}
if(x>z){
d=x;
x=z;
z=d;
}
if(y>z){
d=y;
y=z;
z=d;
}
if((a>=x&&b>=y&&c>=z)||(a<=x&&b<=y&&c<=z))
printf("yes\n");
else printf("no\n");
}
return 0;
}
(1)首先要把所有的情况罗列出来,不能想当然地觉得第一个数就是长,第二个就是宽。
(2)赋值时要先把值存储,再给其赋值,否则会导致该值缺失。
2.“计算机有多聪明”(未解决)
在我的认知里,我会觉得输出答案应该是9.999999,但是答案是正确的10.000000,这让我感到疑惑。
3.计算时间差
#include <stdio.h>
int main()
{
int h1,m1,h2,m2,t;
scanf("%d:%d",&h1,&m1);
scanf("%d:%d",&h2,&m2);
if((h1*60+m1)>=(h2*60+m2)){
t=(h1*60+m1)-(h2*60+m2);
printf("%dh%dmin",t/60,t%60);
}else{
printf("Invaild value.");
}
return 0;
}
理解取余与除法。