在 C 中查詢總天數 C 中的問題在 C 中查詢兩個日期之間的天數

發布 科技 2024-05-13
11個回答
  1. 匿名使用者2024-02-10

    你的邏輯沒有錯。

    您的格式有乙個小錯誤:scanf("%d,%d,%d", y, m, d) 應替換為 :

    scanf("%d%d%d",&y,&m,&d);

  2. 匿名使用者2024-02-09

    要計算兩年、兩個月和天之間的天數,這個想法是計算每天的總天數並減去它們。

    要考慮閏年的情況,判斷閏年的公式:4年內每次閏,100年不閏,再400年。

    year % 4 == 0 &&year % 100 != 0) |year % 400 == 0)

    我在網上找到了乙個(懶惰==!),修改如下:

    #include

    int sum(int y,int m,int d);int i,s=0;

    for(i=1;i s2)

    printf("間隔天數:%ld",s1-s2);

    elseprintf("間隔天數:%ld",s2-s1);

    以上**VC6編譯測試通過。

    雖然這個想法看起來有點傻,但其他演算法,**太長太複雜了,最好直接計算兩個日期和公元元年1月1日之間的天數,然後減去它們。

  3. 匿名使用者2024-02-08

    你好! 您的程式執行良好,這不是因為輸入資料時格式有問題。

  4. 匿名使用者2024-02-07

    [步驟1]:

    main()

    sum=sum+day;*加上給定日期的天數*以確定它是否為閏年*

    leap=1;

    elseleap=0;

    if(leap==1&&month>2) *如果是閏年且月份大於 2,則總天數應加一天*

    sum++;

    printf("it is the %dth day.",sum);}

  5. 匿名使用者2024-02-06

    [步驟1]:

    main()

    sum=sum+day;*加上給定日期的天數*以確定它是否為閏年*

    leap=1;

    elseleap=0;

    if(leap==1&&month>2) *如果是閏年且月份大於 2,則總天數應加一天*

    sum++;

    printf("it is the %dth day.",sum);}

  6. 匿名使用者2024-02-05

    格式用逗號分隔,但“2011 3 17”用空格分隔,所以輸入得不到正確的值,後續的計算結果必然是錯誤的。

  7. 匿名使用者2024-02-04

    我已經很久沒有使用C語言了,我記得輸入的資料應該是這樣的:2011,3,17。 我不知道我是不是弄錯了。

  8. 匿名使用者2024-02-03

    這兩個程式都計算正確的天數。

    ps:程式第一部分有乙個小錯誤,sum+=a[i]; 和 sum+=b[i]; ,我應該被 j 替換

    但是,由於程式的第二部分要多次判斷if(leap(year)),也就是說,它需要多次執行函式int leap(int a)。 在第一段中,函式 int leap(int a) 只執行一次。 因此,程式段 1 的效率高於程式段 2。

    測試**:包括

    int leap(int year)

    main()

    int b[12]=;

    int j,sum,year,month,day;

    第一段 * sum=0;

    if(leap(year))

    for(j=1;計算 jrun 結果的天數相同。

  9. 匿名使用者2024-02-02

    第二個肯定是錯的,閏年和平年的區別在於二月是28、29

    但是第二個程式,每個月再增加 1 個

    for(j=1;j

  10. 匿名使用者2024-02-01

    程式第二段中陣列的下標不正確。

  11. 匿名使用者2024-01-31

    放入 int caldays 函式。

    if(year1=year2) 更改為 if(year1==year2)。

    這是錯誤,糾正後應該可以通過目視檢查找到它。

相關回答
8個回答2024-05-13

*找到 2+4+6+8+....+100 和 *

#include "" >>>More

19個回答2024-05-13

1 不要放棄,慢慢思考。

2 別忘了C++和C可以相互比較,最大的區別只在輸出部分。 >>>More

18個回答2024-05-13

#include ""

void main() >>>More

5個回答2024-05-13

錯誤 1:因為您要查詢的三位數是整數,所以所有變數都應該是 int 而不是浮點數。 >>>More

5個回答2024-05-13

int max(float fx,float fy)float fz;

fz=fx>fy?fx:fy; >>>More