第三週判断と循環プログラミング練習/授業作業時間換算+分隊列《プログラム設計入門——C言語》第七期浙江大学翁カイ

2856 ワード

一、時間換算(5分)
タイトル内容:
UTCが世界協調の時、BJTは北京時間で、UTC時間はBJTから8を引くことに相当します.今、あなたのプログラムは整数を読み込んで、BJTの時と分を表します.整数の個位と10位は分を表し、百位と千位は時間を表す.時間が10未満の場合、千ビット部分はありません.時間が0の場合、100ビット部分はありません.時間が0ではなく10分未満の場合、10桁の0を保持する必要があります.時間が0で10分未満の場合、10ビットの0を保持する必要はありません.1124は11時24分、905は9時5分、36は0時36分、7は0時7分を表す.
有効な入力範囲は0から2359です.つまり、あなたのプログラムがテストサーバから0から2359以外の入力データを読むことはできません.
あなたのプログラムはこの時間に対応するUTC時間を出力して、出力のフォーマットは入力のと同じで、つまり1つの整数を出力して、UTCの時と分を表します.整数の個位と10位は分を表し、百位と千位は時間を表す.時間が10未満の場合、千ビット部分はありません.時間が0の場合、100ビット部分はありません.時間が0ではなく10分未満の場合、10桁の0を保持する必要があります.時間が0で10分未満の場合、10ビットの0を保持する必要はありません.
注意:日をまたぐ換算に注意してください.
 
入力形式:
BJTの時と分を表す整数.整数の個位と10位は分を表し、百位と千位は時間を表す.時間が10未満の場合、千ビット部分はありません.時間が0の場合、100ビット部分はありません.時間が0ではなく10分未満の場合、10桁の0を保持する必要があります.時間が0で10分未満の場合、10ビットの0を保持する必要はありません.
 
出力フォーマット:
UTCの時と分を表す整数.整数の個位と10位は分を表し、百位と千位は時間を表す.時間が10未満の場合、千ビット部分はありません.時間が0の場合、100ビット部分はありません.時間が0ではなく10分未満の場合、10桁の0を保持する必要があります.時間が0で10分未満の場合、10ビットの0を保持する必要はありません.
 
サンプルを入力:
803
 
出力サンプル:
3
時間制限:500 msメモリ制限:32000 kb
#include
using namespace std;

int main()
{
	int BJT;
	int UTC;
	int  jet_lag = 800;		//     

	scanf("%d", &BJT);			//      
	int Bhour = BJT / 100;			//          
	int Bminute = BJT % 100;			//          
	
	//            
	while (Bhour < 0 || Bhour>23 || Bminute < 0 || Bminute>59)
	{
		printf("        ,     :");
		scanf("%d", &BJT);
		Bhour = BJT / 100;
		Bminute = BJT % 100;
	}

	//                
	int Uhour = 0;
	int Uminute= Bminute;
	//UTC = Uhour * 100 + Uminute;		//          
	
	//                
	if (Bhour >= (jet_lag / 100))
	{
		Uhour = Bhour - (jet_lag / 100);
		UTC = BJT - jet_lag;
	}
	else
	{
		Uhour = 24 + Bhour - (jet_lag / 100);
		UTC = Uhour * 100 + Uminute;
	}
	//printf("%d %d
", Uhour,Uminute); // printf("%d
", UTC); // system("pause"); return 0; }

二、分隊列分(5点)
タイトル内容:
クラスは初めて列に并んで、通常先生は学友に身長によって1列に并べさせて、それから1、2の报数、1の学友を叫んで前へ1歩進んで、このようにして、列は2列になりました.今、あるクラスにn人の同級生がいて、彼らはすでに身長で列に並んでいて、同級生は身長で1からnまで番号をつけています.最後にどの番号の同級生が最初の列に立っているか教えてくれませんか. 
 
入力形式:
クラスの人数を表す正の整数nを入力します.
 
出力フォーマット:
最初の列のすべての学生に対応する番号を順番に出力し、2つの番号の間に1つのスペースで区切られ、最後の番号の後ろにスペースがありません.
 
サンプルを入力:
11
 
出力サンプル:
1 3 5 7 9 11
時間制限:500 msメモリ制限:32000 kb
#include
using namespace std;

int main()
{
	int n;
	scanf("%d", &n);
	if (n <= 0)
	{
		printf("          !         :");
		scanf("%d", &n);
	}

	for (int i = 1; i <= n; i++)
	{
		if (i % 2 == 1)
		{
			printf("%d", i);
			if (i != n && i != (n - 1))
			{
				printf(" ");
			}
		}
	}

	system("pause");
	return 0;
}