日付順達成するために、C言語の構造

タイトル説明

いくつかの日付がありますが、日付形式は「MM / DD / YYYY」です。サイズへのプログラミングは、日付順。

 

エントリー

MM / DD / YYYYとして、各日付を入力します。


 

輸出

結果の出力配列


 

サンプル入力

2005年12月31日
2003年10月21日
2004年2月12日
1999年10月12日
2003年10月22日
2005年11月30日

 

サンプル出力

1999年10月12日
2003年10月21日
2003年10月22日
2004年2月12日
2005年11月30日
2005年12月31日

書式#include <stdio.hに>
する#include <string.hの>
構造体data_st
{
int型の年。
int型月;
intデータ。
} DATA [100]。
空bubble_sort(構造体data_st * P、int型NUM);
メインINT()
{
int型I = 0、NUM = 0。
memset(DATA、0、はsizeof(DATA))。
一方、(scanf関数( "%D /%D /%D"、およびDATA [i]を.month、&DATA [i]を.DATA、&DATA [i]を.year)= EOF!)
{
I ++。
}
NUM = I。
bubble_sort(DATA、NUM)。
ための式(I 0 =; I <NUM; I ++)
{
のprintf( "%02D / 02D%/%04D \ n"は、DATA [i]を.month、DATA [i]を.DATA、DATA [i]を.year)。
}
}
ボイドbubble_sort(構造体data_st * P、INT NUM)
{
int型I、J。
data_st温度をストラクト。
ための式(I 0 =; I <NUM-1; I ++)
{
ため(J = 0; J <NUM-1-I; J ++)
{
IF(P [j]が.year> P [J + 1] .year)
{
TEMP = P [J]。
P [J] = P [J + 1]。
P [J + 1] = TEMP。
}
そうであれば(P [j]が.year == P [J + 1] .year)
{
IF(P [j]が.month> P [J + 1] .month)
{
TEMP = P [J]。
P [J] = P [J + 1]。
P [J + 1] = TEMP。
}
そうであれば(P [j]が.month == P [J + 1] .month)
{
IF(P [J] .DATA> P [J + 1] .DATA)
{
TEMP = P [J]。
P [J] = P [J + 1]。
P [J + 1] = TEMP。
}
}
}
}
}
}



おすすめ

転載: www.cnblogs.com/cocobear9/p/12577762.html