forked from Dashark/hello-world
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhomework5.cpp
More file actions
35 lines (33 loc) · 1.32 KB
/
Copy pathhomework5.cpp
File metadata and controls
35 lines (33 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//输入一个字符串,形如
//3072x1728,2720x1536,2560x1600,2560x1440,2304x1728,2048x1536,1920x1200,1920x1080,1440x900,1280x800,1280x720,1024x768,1024x640,800x600,800x500,800x450,640x480,640x400,640x360,480x360,480x300,480x270,320x240,320x200,320x180,240x180,176x144,160x120,160x100,160x90
//这是一个显示器支持的分辨率清单,中间逗号分隔。
//现在输入画面的宽和高,然后在上述清单中挑选一个最接近的分辨率输出
//比如输入2000,1000,输出的分辨率应该是1920x1080,因为其它分辨率的误差更大。
//完成如下程序
// 2021-11-14
#include <stdio.h>
int main(){
int x,y,i,j,mid,b[30];
scanf("%d %d", &x, &y);
int a[30][2]={{3072,1728},{2720,1536},{2560,1600},{2560,1440},{2304,1728},{2048,1536},{1920,1200},{1920,1080},{1440,900},{1280,800},{1280,720},{1024,768},{1024,640},{800,600},{800,500},{800,450},{640,480},{640,400},{640,360},{480,360},{480,300},{480,270},{320,240},{320,200},{320,180},{240,180},{176,144},{160,120},{160,100},{160,90}};
for(i=0;i<30;i++){
if(x*y-a[i][0]*a[i][1]<0){
b[i]=a[i][0]*a[i][1]-x*y;
}else b[i]=x*y-a[i][0]*a[i][1];
}
for(i=0;i<30;i++){
for(j=0;j<29-i;j++){
if(b[j]>b[j+1]){
mid=b[j+1];
b[j+1]=b[j];
b[j]=mid;
}
}
}
for(i=0;i<30;i++){
if(b[0]==a[i][0]*a[i][1]-x*y||b[0]==x*y-a[i][0]*a[i][1]){
printf("选中的分辨率是%d×%d",a[i][0],a[i][1]);
}
}
return 0;
}