看板 TransCSI 關於我們 聯絡資訊
※ 引述《lailai1213 (lai~)》之銘言: : 完成下列程式 轉換24小時的時間表示法成12小時AM/PM的時間表示法. : 舉例 程式將轉換14:25成2:25PM.程式的輸入為兩個整數(以上例而言是14 25). : 程式中有三個函數:一個取得使用者之輸入,一個作時間的轉換,另一個則是輸出 : 轉換後的結果.程式中AM/PM已字元'A'及'P'代替並儲存於字元變數set中. : 部分程式如下所示: : #include<stdio.h> : void input(int *hour,int *minute); : void conversion (int *hour,char *set) : void output(int hour,int minute,char set); : void main() : { : char set; : int hour(&hour,minute); : input(&hour,&minute); : conversion(&hour,&set); : output(hour,minute,set); : } : void input(int *hour,int *minute) : { : } : void conversion(int *hour,char *set) : { : } : void output(int hour,int minute,char set) : { : } 我程度也很差....一開始想說試者寫寫看好了,沒想到也是想了好久才想出來 原本沒有要PO程式碼,但後來想想既然都寫了就貼吧!雖然基本要求達到了, 但程式還是有些問題,有錯誤的地方若是您看到了也請指點迷津,謝謝~~ // 參考解:不使用 time.h // 不需要 system("PAUSE");時,可不需使用 stdlib.h // 注意:除修正SyntxError外,並未更動題目所給的範例程式碼 // Modify by Stevenick. // #include<stdio.h> #include <stdlib.h> void input(int *hour,int *minute); void conversion (int *hour,char *set); void output(int hour,int minute,char set); int main(int argc, char *argv[]){ //變數宣告:設定時間初始值為負數以便錯誤檢查。 char set; int hour = -1; int minute = -1; input(&hour,&minute); conversion(&hour,&set); output(hour,minute,set); system("PAUSE"); // 暫停 exit(0); } void input(int *hour,int *minute) { //提示使用者輸入格式。 printf("Input time. Format as mm:ss is\'mm ss\' >"); scanf("%U %U", hour, minute); if ((*hour>24)||(*hour<0)||(*minute>60)||(*minute<0)){ //數值範圍檢查 printf("Bad format, please enter again!\n"); input(hour,minute); } } void conversion(int *hour,char *set) { if((*hour == 0)||(*hour == 24)){ //AM:修正午夜12點時數字顯示 *set = 'A'; *hour = 12; }else if(*hour>=12){ //PM *hour = *hour - 12; if(*hour == 0) { *hour = 12; //修正中午12點時數字顯示. } *set = 'P'; }else { *set = 'A'; //AM } } void output(int hour,int minute,char set) { printf("The time is: %d:%d %cM.\n",hour, minute, set); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.68.214.114
scoro:利害!@@ 我想問一下main那邊的argc是什麼@@ 07/04 23:00
dgf130:argc是程式一開始執行所接受的指令 07/05 00:00
dgf130:指令數目 07/05 00:02
scoro:請問是一定要打嗎? 我對vb比較熟而已 囧> 07/05 00:14
dgf130:可以不用打.. 07/05 00:19
scoro:嗯 謝謝你解除我的疑惑^^ 07/05 00:29