C語言成長學習題(八)

2022-08-29 09:24:12 字數 1696 閱讀 2114

三十

一、編寫程式,用公式∏/4=1-1/3+1/5-1/7+...,求∏的近似值,直到最後一項的絕對值小於10-4為止。

1 #include 2 #include 3

4void main(void)5

16 pi = sum * 4

;17 printf("

pi = %f\n

", pi);

18 }

結果:pi = 3.141397

fabs(x)是庫函式,其功能是求x的絕對值。

三十二、編寫用人機對話形式進行加、減、乘、除運算的程式。使用者沒輸入一次運算數和運算子,系統輸出響應的結果,當輸入的運算子為「#」時結束迴圈。

1 #include 2 #include 3

4void main(void)5

28if (flag == 0)29

33else

if (flag == 1

)34 printf("

除數為0!\n");

35else

if (flag == 2

)36 printf("

%c是非法運算子!\n

", sym);

37 printf("

請輸入第%d題,用3#3退出.\n

", i);

38 scanf("

%f%c%f

", &a, &sym, &b);39}

40 }

結果:請輸入第1題,用3#3退出.

2*3.5

2.000000*3.5000000 = 7.000000

請輸入第2題,用3#3退出.

3/0除數是0!

請輸入第2題,用3#3退出.

5.5&4.7

&是非法字元!

請輸入第2題,用3#3退出.

3#3三十

三、將從鍵盤輸入一串字元(用#結束輸入)按如下規則進行轉換:

(1)如果輸入的字元為大寫字母,則先轉換為對應的小寫字母。

(2)將a轉換為c,b轉換為d,...,x轉換為z,y轉換為a,z轉換為b。

(3)其它字元不轉換

1 #include 2

3void main(void)4

while (ch != '#'

);19 }

結果:input data: ufyr'q 2 ylb 3?#

what's 2 and 3?#

三十四、判斷從鍵盤輸入的自然數(大於1),是不是素數。

1 #include 2

3void main(void)4

結果:(1)input a(>1): 11

11 is a prime number.

(2)input a(>1): 15

15 is not a prime number.

三十五、求1!+2!+3!+...+20!的值。

1 #include 2

3void main(void)4

1314 printf("

sum = %e\n

", sum);

15 }

結果:sum = 2.56133e+018

C語言成長學習題(十一)

四十 六 假設一堆陣列中存放不相同的10個整數,從鍵盤輸入乙個整數,輸出與該值相同的陣列元素的下標。1 include 2 3void main void 4 67 printf input x 8 scanf d x 9for i 0 i 10 i 10 printf 4d a i 11 prin...

C語言成長學習題(五)

十 七 求一元二次方程ax2 bx c 0的實根 要求a b c的值從鍵盤輸入,a 0 1 include 2 include 3 4void main void 5 20 結果 1.input a,b,c 4 8 1 x1 2.118034,x2 0.118034 2.input a,b,c 2 ...

C語言成長學習題(二)

六 編寫程式,在scanf函式中指定輸入資料的寬度。1 include 2 3void main void 4 結果 輸入 輸出 a 12 a 12 a 1234 a 123 12 a 未知 可以在scanf函式的格式說明符前,用乙個整數指定輸入的最大寬度,但對實型數不可以指定寬度。七 編寫程式,從...