1樓:高金山
基本上就是這個思想,不太對,你再除錯一下吧#include
#define year 1970
typedef struct
date;
/*儲存12個月的天數*/
const int days[12]=;
/*判斷是否為閏年*/
int isleapyear(int year)return 0;
} /*日期轉成2023年1月1日起的天數*/long date2sec(date d) }//累計當年當月的天數
sum+=d.day-1;
//轉換成秒
sum=sum*24*60*60;
//加當天的小時,分鐘,秒
sum+=d.hour*60*60+d.min*60+d.sec;
//返回總秒數
return sum;
} /*日期轉成2023年1月1日起的天數*/date sec2date(long sec); int ds,sum;
ds=sec/(24*60*60);
sec-=ds*(24*60*60);
d.hour=sec/(60*60);
sec-=d.hour*(60*60);
d.min=sec/60;
sec-=d.min*60;
d.sec=sec;
//計算有多少年
while(1)
if(ds d.year++; ds-=sum; } //計算有多少月 while(1) } if(ds+1 d.month++; ds-=sum; } return d; } main() 2樓:匿名使用者 你的假設有問題。 2023年的6月6日9:00:00至2023年1月1日0點0分0秒,有多少秒???我汗……,假設也得動腦子的! 你的程式中存在一些邏輯問題和語法問題 編譯都過不了 1。max沒定義 2。a未定義 3。ab,cd只要十位數不為0就可以,而你卻判斷成ab 0,cd 0了 4。邏輯不夠清晰,最好有一個好的書寫習慣和風格,再多一些註釋幫你改了個新的 正確的,供參考 沒有改變你原有的變數名,最好要改一改 void js... 明顯有問題,你定義的a 80 已經規定了它有80個字元,但是你確定你輸入的這80字元都是有效的而不是 0 即如果a 80 abc 那麼這個字元陣列後面部分有77個 0 你一調換過來就成了a 80 0 0 cba 前面有77個 0 而字串的輸出一遇到 0 即停止了,所以你陣列的第一個元素就是 0 所以... 先定義一個字元型別的變數,存放字串中的第一個字元,再將第二個字元覆蓋到第一個字元上,依次類推,然後再將你定義的存放第一個字元的字元變數覆蓋到最後一個字元上 s i s i 陣列存放下標以0開始,ch存放s 0 也就是 s 0 for迴圈是將後面的字元覆蓋到前面的字元,再將ch覆蓋到最後一個字元 s是...C語言高手請進
C語言高手請進
C語言語句解釋,高手請進