自考“高級語言程序設計”習題答案詳解(13)

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導讀:
  6.編一個程序,輸入10個整數,統(tǒng)計并輸出其中正數、負數和零的個數。
  「解」輸入10個整數,統(tǒng)計其中正數、負數和零的個數。程序引入3個計數器變量,用于統(tǒng)計大于以小于0和等于0的整數的個數。開始時,這3個計數器都置0,然后用循環(huán)逐一輸入10個整數,并判定當前輸入的整數是大于0,或小于0,或等于0,并按判定結果

6.編一個程序,輸入10個整數,統(tǒng)計并輸出其中正數、負數和零的個數。

「解」輸入10個整數,統(tǒng)計其中正數、負數和零的個數。程序引入3個計數器變量,用于統(tǒng)計大于以小于0和等于0的整數的個數。開始時,這3個計數器都置0,然后用循環(huán)逐一輸入10個整數,并判定當前輸入的整數是大于0,或小于0,或等于0,并按判定結果累加相應計數器。最后,程序輸出這3個計數器的值。程序如下:

# include

main()

{ int i,d,n,z,p;/*變量定義*/

n=Z=p=0;

for(i=1;i =10;i++) {

print(“ 輸入第%d個整數”, i);

scanf(“%d”, d);

if(d 0)n++;

else if(d 0)p++;

else z++;

}

printf(“負數有%d個,正數有%d個,零有%d個。\n”,n,p,z);

}

7.編程序,按下列公式計算e的值(精度為1e-6):

e=1+1/1!+1/2!+1/3!+…+1/n!+…

「解」按e的冪級數展開式計算e的值。這是典型的求級數和計算問題。通常采用逐項計算,并累計的方法。計算新的項時,可用上一輪循環(huán)計算出的項,這能提高程序的效率。循環(huán)直至當前項的值小于精度要求結束。程序如下:

# include

main()

{ double e,t,i;/*變量定義*/

e=0.0;t=1.0;i=1.0;

while(t =1.0e-6) {

e+=t;

t/= i;

i+= 1.0;

}

printf(“e=%.6f\n”, e);

}

8.編程序,按下列公式計算y的值(精度為1e-6):

y=∑1/r*r+1

「解」按所給公式計算數列的和。類似上一小題的解,逐項計算并累計。程序如下:

# include

main()

{ double y,r,t;/*變量定義*/

y=0.0;r=1.0;

while((t=1.0/(r*r+1.0)) =1.0e-6) {

y+=t;

r+=1.0;

}

printf(“y=%.6f\n”, y);

}

相關閱讀