程式設計每日一題 C程式設計 計算工資

2021-10-08 06:22:30 字數 2927 閱讀 1728

描述

正確解法:

#include

intmain()

else salary = hour*

50.00;}

else

if(hour>40)

else salary = hour*

30.00

;printf

("%.2lf\n"

,salary)

;return0;

}

錯誤解法一:

#include

intmain()

else salary = hour*

50.00;}

else

if(hour>40)

else salary = hour*

30.00

;printf

("%.2lf\n"

,salary)

;// 可定義整型十進位制資料,以十六進製制輸出,但此處不能將整型資料以浮點輸出????

return0;

}

題目延伸:

若定義變數為整型,將表示式計算結果為浮點型別資料賦值於該整型變數,輸出結果將出現何種狀況?

#include

intmain()

else

}else

if(hour>40)

else salary = hour*

30.00

;printf

("%.2lf\n"

,salary)

;return0;

}

當輸入為 year=5 hour=50時,程式執行結果:

5

50year=

5,hour=

50,salary integer=

2765

//正確結果為2765.555,此處變數捨棄小數部分將整數部分輸出

year=

5,hour=

50,salary integer=

687194767

//變數未初始化導致???經驗證,初始化為 0 後,仍輸出該資料

year=

5,hour=

50,salary float

=2765.554688

// 如何解釋???可將整型變數已浮點型別輸出?為何資料和真實結果出現偏差??

year=

5,hour=

50,salary float

=2765.555000

//如何理解有效數字/位元組數/小數字數???

year=

5,hour=

50,salary double

=2765.554688

year=

5,hour=

50,salary double

=2765.555000

0.00

//在不指定小數字數的情況下,整型變數被賦予浮點數之後,pinrtf 函式可以雙精度浮點型別輸出結果,在指定小數字數情況下,錯誤輸出 0.00 ??經驗證,將printf("%.2lf\n",salary)更改為printf("%lf\n",salary)後,輸出結果仍然有誤(0.000000),作何解釋?更改為printf("%.2f\n",salary)輸出結果仍然有誤(0.00),作何解?而處於迴圈結構體內(salary與salary 均滿足如下四種情形)的printf("year=%d,hour=%d,salary double=%.2f\n",year,hour,salary); 或printf("year=%d,hour=%d,salary double=%.2lf\n",year,hour,salary);或printf("year=%d,hour=%d,salary double=%f\n",year,hour,salary); 或printf("year=%d,hour=%d,salary double=%lf\n",year,hour,salary);均未報錯,資料數值同上,作何解?

----

----

----

----

----

----

----

----

process exited after 4.201 seconds with return value 0

press any key to continue..

.

當輸入為 year=5 hour=40時,程式輸出結果為:

5

40year=

5,hour=

40,salary integer=

2000

year=

5,hour=

40,salary integer=

0//如何解釋 salary 輸出 0

year=

5,hour=

40,salary float

=2000.000000

year=

5,hour=

40,salary float

=2000.000000

year=

5,hour=

40,salary double

=2000.000000

year=

5,hour=

40,salary double

=2000.000000

0.00

----

----

----

----

----

----

----

----

process exited after 5.033 seconds with return value 0

press any key to continue..

.

程式設計每日一題 C程式設計 年份閏年 平年判斷

描述 輸入年份,判斷該年份是平年還是閏年。普通閏年 年份數值為4的倍數,且不是100的倍數。世紀閏年 公曆年份是整百數,且是400的倍數。正確解法一 巢狀判斷,滿足條件即輸出判斷結果 include intmain else printf the year d is normal year.n ye...

C 每日一題

題目 給定乙個陣列 nums 和乙個值 val 你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成,oj鏈結.解析 我們來解析一下這個題目的做題思路,他的含義就是讓我們刪除掉陣列中的元素,然後將陣...

每日一題 47 計算糖果

a,b,c三個人是好朋友,每個人手裡都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的資訊 a b,b c,a b,b c.這四個數值.每個字母代表每個人所擁有的糖果數.現在需要通過這四個數值計算出每個人手裡有多少個糖果,即a,b,c。這裡保證最多只有一組整數a,b,c滿足所...