罗伊想换他在Facebook上的头像现在Facebook对我们可以上传的图片的尺寸有一些限制。图片的最小尺寸可以是LXL,其中L是正方形的边长。
现在罗伊有N张不同尺寸的照片。照片的尺寸表示为WXH,其中W-照片的宽度,并且H-照片的高度
当上传任何照片时,可能会发生以下事件:
1.如果宽度或高度中的任何一个小于L,则提示用户上传另一个。在这种情况下打印“UPLOAD ANTHER”。
1.如果宽度和高度都足够大,并且(a)如果照片已经是正方形,则可以接受。在这种情况下打印“接受”。(b)否则提示用户对其进行裁剪。在这种情况下打印“CROP IT”。
代码:
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int len; /* len is the length of the side of square */
scanf("%d",&len);
int test;
scanf("%d",&test);
while(test--)
{
int w,h;
/* w - width of the photo and h- Height of the photo */
scanf("%d %d",&w,&h);
if(w==len && h==len)
{
printf("ACCEPTED\n");
}
else if(w>len || w==len && h>len || h==len)
{
printf("CROP IT\n");
}
else
{
printf("UPLOAD ANOTHER\n");/* print */
}
}
return 0;/* success */
}
5条答案
按热度按时间oewdyzsn1#
如果您的问题是看不到任何输出,则可能是因为它在IDE中运行,并且输出窗口在您看到它之前关闭。在
main()
的末尾明智地使用getchar()
可能就是解决这个问题所需要的全部,尽管我可能更喜欢从命令行运行它。在任何情况下,由于
&&
的优先级高于||
,因此第二个条件实际上是:这显然是错误的,因为具有宽度大于所需宽度的照片将导致请求裁剪 * 而不管 * 其他子条件。
你最好更仔细地遵循文本规范,这样你就可以更容易地检查它。这将需要类似的东西(稍微简化的规格仍然符合最初的意图):
L
,则提示用户上传另一个。这段代码要简单得多:
db2dz4w82#
由于operator precedence,
相当于:
您需要使用的是:
您可以将其简化为:
其可以进一步简化为:
kq0g1dla3#
你可能需要进入文件>首选项>设置>键入'coderunner'>勾选'在终端中运行'
我正在寻找类似的问题并解决了它。
gcuhipw94#
它将显示输出,但程序运行速度比您预期的要快。显示输出后,它将立即关闭。它不会等到你读它。因此,使用
conio.h
中声明的getch();
,在打印完所有输出后(正好在return
语句之前),获得一次按键作为输入。它将使程序等待用户在退出前按下一个键。ztyzrc3y5#
这是截图。它在我身上运行得没有错误。
**注意:**这不是答案。但这仅仅是给予图片示例的唯一方法:)不需要向上
也许你只需要在返回之前将
getchar();
放在代码的末尾,让屏幕暂停一段时间。它的速度非常快