問題: 100 日後は何曜日ですか ?
getDay.c
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 35 36 37 38 39 40 | /*
Program: getDay.c
Comment: Residue for getDay
Compiler Version: gcc-4.2
Build It: gcc -Wall -O2 -o getDay getDay.c
Runtime Environment: Snow Leopard 10.6.4
Date: Sep 3rd, 2010
Author: Fei Zhao
All Rights Reserved
*/
#include <stdio.h>
#include <stdlib.h> /* exit() */
int main(int argc, char *argv[]){
int num; /* 何日後? */
char *day[] = { /* ポインタ配列 (配列の中に, アドレスがある) */
"日", /* あまり: 0 */
"月", /* あまり: 1 */
"火", /* あまり: 2 */
"水", /* あまり: 3 */
"木", /* あまり: 4 */
"金", /* あまり: 5 */
"土" /* あまり: 6 */
};
if(argc != 2){
printf("Error...Usage: %s what's the days? \n", argv[0]);
exit(0);
}
num = atoi(argv[1]);
/* 周期は 7 であるために, 剰余を使って何曜日を確認できる */
num %= 7;
printf("%d 日後は \"%s曜日\" です. \n", atoi(argv[1]), day[num]);
return 0;
}
|
getDay.c の実行結果は:
[cactus:~/code_c/math-for-p/residue]% ./getDay 10
10 日後は "水曜日" です.
[cactus:~/code_c/math-for-p/residue]% ./getDay 15
15 日後は "月曜日" です.
[cactus:~/code_c/math-for-p/residue]% ./getDay 20
20 日後は "土曜日" です.
[cactus:~/code_c/math-for-p/residue]% ./getDay 100
100 日後は "火曜日" です.