小科さんは複数の都市に出張中ですが、ビッグデータ統計を参照し、疫病状況のリアルタイムデータを分析し、指定された並べ替え方法で指定されたシリアル番号を持つ疫病データを出力するのを手伝ってください。

【問題の説明】

小科さんは複数の都市に出張中ですが、ビッグデータ統計を参照し、疫病状況のリアルタイムデータを分析し、指定された並べ替え方法で指定されたシリアル番号を持つ疫病データを出力するのを手伝ってください。

2022年5月20日現在の中国の流行状況のリアルタイムデータは以下の通りです。

州と市 新たに診断されたA 無症状Bを追加 累計感染者数C
台湾   175150 0 1156291
上海   90 773 62521
香港   87 0 331881
北京   51 12 2975
四川省   20 107 2232
福建省   9 0 3163
天津   8 11 1843年
河南省   4 25 3159
広東省   3 18 7274
吉林省   2 9 40284
江蘇省   2 0 2220
広西チワン族自治区   2 17 1613
雲南省   1 2 2133
遼寧   1 3 1671年
湖北省   0 1 68398
陝西省   0 0 3278
浙江省   0 4 3133
黒竜江省   0 0 2983
山東省   0 1 2735
河北省  0 0 2004年
内モンゴル   0 0 1753年
湖南省   0 0 1393
江西省   0 1 1383
安徽省   0 6 1065
新疆   0 0 1008
重慶   0 0 708
甘粛省   0 0 681
山西省   0 0 420
海南   0 0 288
貴州省   0 0 185
青海省   0 0 147
寧夏回族自治州   0 0 122
マカオ   0 0 82
チベット   0 0 1

与えられた生データ形式


地域、
新規診断者
新規
無症状者累積確認症例数
天津、8,11,1843、
河南、4,25,3159、
広東、3,18,7274、
吉林、2,9,40284、
江蘇,2,0,2220、
広西チワン族自治区,2,17,1613,
雲南省,1,2,2133,
遼寧省,1,3,1671,
湖北省,0,1,68398,
陝西省,0,0,3278,
浙江省, 0,4,3133、
黒竜江省、0、0、2983、
山東省、0、1、2735、
河北省、0、0、2004、
内モンゴル自治区、0、0、1753、
湖南省、0、0、1393、
江西省、0 ,1,1383、
安徽省、0,6,1065、新
疆、0,0,1008、
重慶、0,0,708、
甘粛省、0,0,681、
山西省、0,0,420、海南
省、0,0,288、
貴州省、0,0,185 、
青海省、0、0、147、
寧夏回族自治区、0,0,122、
マカオ、0,0,82、
チベット、0,0,1

【入力例1】

A8

【出力例1】

4,25,3159

【入力例2】

B2

【出力例】

20,107,2232

【記載例】

入力 A、B、C は、新規感染者、新規追加無症状者、累積感染者数の 3 つの列のうち 1 つのデータを指します。次の数字は、どの列のデータを降順にソートしたかを示します。同じものが見つかった場合は、前のリストを元のリストの順序で出力します。

出力データはカンマで区切られます。

データがない場合はNOを出力します

#include<stdio.h>
struct yiqing{
	char place[20];
	int A,B,C;
};
int main(){
	struct yiqing a[35]={
		"台湾",175150,0,1156291,
		"上海",90,773,62521,
		"香港",87,0,331881,
		"北京",51,12,2975,
		"四川",20,107,2232,
		"福建",9,0,3163,
		"天津",8,11,1843,
		"河南",4,25,3159,
		"广东",3,18,7274,
		"吉林",2,9,40284,
		"江苏",2,0,2220,
		"广西",2,17,1613,
		"云南",1,2,2133,
		"辽宁",1,3,1671,
		"湖北",0,1,68398,
		"陕西",0,0,3278,
		"浙江",0,4,3133,
		"黑龙江",0,0,2983,
		"山东",0,1,2735,
		"河北",0,0,2004,
		"内蒙古",0,0,1753,
		"湖南",0,0,1393,
		"江西",0,1,1383,
		"安徽",0,6,1065,
		"新疆",0,0,1008,
		"重庆",0,0,708,
		"甘肃",0,0,681,
		"山西",0,0,420,
		"海南",0,0,288,
		"贵州",0,0,185,
		"青海",0,0,147,
		"宁夏",0,0,122,
		"澳门",0,0,82,
		"西藏",0,0,1},t;
	int n,i,j;
	char q;
	scanf("%c%d",&q,&n);
	if(n>34)
		printf("NO");
	if(q=='A'){
		for(i=0;i<34;i++){
			for(j=34;j>i;j--){
				if(a[j].A>a[j-1].A){
					t=a[j];
					a[j]=a[j-1];
					a[j-1]=t;
				}
			}
		}
		printf("%d,%d,%d",a[n-1].A,a[n-1].B,a[n-1].C);
	}
	if(q=='B'){
		for(i=0;i<34;i++){
			for(j=34;j>i;j--){
				if(a[j].B>a[j-1].B){
					t=a[j];
					a[j]=a[j-1];
					a[j-1]=t;
				}
			}
		}
		printf("%d,%d,%d",a[n-1].A,a[n-1].B,a[n-1].C);
	}
	if(q=='C'){
		for(i=0;i<34;i++){
			for(j=34;j>i;j--){
				if(a[j].C>a[j-1].C){
					t=a[j];
					a[j]=a[j-1];
					a[j-1]=t;
				}
			}
		}
		printf("%d,%d,%d",a[n-1].A,a[n-1].B,a[n-1].C);
	}
	return 0;
}

おすすめ

転載: blog.csdn.net/ghblk/article/details/130957155