一道題c語言題求解答,一道c語言題,求解答

2022-08-22 23:57:00 字數 3385 閱讀 8097

1樓:霍工

要注意以下幾點:

要求pi的精度是0.0005,那麼在最後返回值運算到乘以2的時候精度會增加一倍。因此程式中精度的判斷值減半,變成0.001

雙精度型的變數跟整型變數之間運算的時候,建議將整形的資料強制轉換成雙精度型的,以免計算機位數差異產生誤差。

3. 使用整形i來計算迭代,建議使用長整型型別(long),以免位數不夠,達不到精度。

改成如下程式會輸出正確結果。

double fun(double exp)

double sum=4.0;

double x=1.0,y=3.0;

long i;

sum=sum/3;

for(i=2;(x/y)>=exp*2;i++)    /*這裡必須也乘以2*/

x=x*((double)i);    /*這裡計算需要將整型強制轉換為雙精度,以減少計算機錯誤概率*/

y=y*(2*(double)i+1);

sum=sum+x/y;

return sum*2;      /*這裡乘以2了*/

main()

double exp;

clrscr();

scanf("%lf",&exp);

printf("%lf\n",fun(exp));

2樓:計算機

#include

double fun(double exp)int i;

double sum=1.0;

double x=1.0,y=3.0;

for(i=2;x/y>=exp;i++)sum+=x/y;

x=x*i;

y=y*(2*i+1);

return sum*2;

void main()

double exp;

printf("請輸入精度:");

scanf("%f",&exp);

printf("%f",fun(exp));

執行結果

3樓:最大的寶寶

x那項改成這樣:

x = x * i;

函式引數也要代入函式中

一道c語言題,求解答

4樓:

輸出的結果是:102548

5樓:

輸出102548

printf("%d",*p); p指向a[0] 輸出10p++; 執行結束後p指向a[1]

printf(("%d",*p++); 先列印再計算p++,執行後列印出a[1],p指向a[2]

printf(("%d",*++p);先計算++p,再列印,執行後列印出a[3],p指向a[3]

6樓:不願相離

輸出結果是10 25 48

7樓:草叢裡的落葉

102548 .

一道c語言程式設計題,求解答

8樓:馮小氣氣

*s沒有初始化,沒有指向一塊記憶體。

while(*str != ' ')當遇到空格的時候就直接退出while迴圈了,並不會去掉空格。

並且即使你進了while迴圈,你最後賦值的時候指標s已經到了最後了,也不會正確。

void fun(char* str)

str++;

}memset(tmps, 0, strlen(tmps));

memcpy(tmps, s, strlen(s));

free(s);}

9樓:一縷青塵

你這樣能刪那就見鬼了。你只是把指標一直移來移去,根本沒有修改記憶體,怎麼能達到目的?你用紙畫一下,把記憶體用格子表示,指標用指向格子的箭頭表示,你自己一步步跟著分析一下,自己就知道了。

一道c語言題,求解答

一道c語言題,求解答,謝謝啦

10樓:匿名使用者

a選項,pp[i][j] 非法,抄不能表示陣列a中元襲素的bai地址。

c選項,*(*(p+i)+j) 表示的是數du組a某個元素的zhi內容,而不是元dao素的地址。

d選項,p無法表示陣列a元素的地址,p是一個指標陣列,從它取一遍才能得到陣列a元素的地址。

一道c語言程式題目,求解答~~

11樓:匿名使用者

上面的**中,沒有對s進行輸入,所以如果輸出s的話,指定會是亂碼的啊把指標調回p[0]的話,可以p--回去

或者在p改變之前,用tmp_p儲存起始位置。

struct stu *tmp_p = p;

……p = tmp_p;

此外,我猜,這個程式中的s是為了儲存平均值?

struct stu

;int main()

{int i,l;

float s;

scanf("%d",&l);

struct stu *p;

p=(struct stu*)malloc(sizeof(struct stu)*l);

s = 0;

for (i=0;i

12樓:王勃啊

輸出第一個成績的話這樣就可以了

#include "stdio.h"

#include

#include

struct stu

;int main()

{int i,l;

float s;

scanf("%d",&l);

struct stu *p;

p=(struct stu*)malloc(sizeof(struct stu)*l);

for (i=0;i

13樓:匿名使用者

#include

#include

struct stu

;int main()

printf("%f\n", p->score );

return 0;}

一道c語言題目,求解答!!!!!!!

14樓:花落へべ若相惜

scanf()函式中沒有精度控制。

如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。則排除c

b,d沒有%排除

15樓:與子如初見

格式輸入嚴格按照格式輸入就好了,如果是c的話輸入得是

6.2283.1900

6.2在輸出的時候有作用,再輸入的時候沒作用。

一道C語言程式設計題,一道C語言程式設計題

源 只要150行的程式就能用於 抗震救災 一道c語言程式設計題 15 在vc6下除錯通過。include stdio.h main printf 共有 版 d組解 權 n count 一道c語言程式設計題。5 include int s 100 100 定義陣列,第i行存的是第i個學生的成績 int...

一道c語言函式題,一道C語言函式題

原因 i是全域性變數 一步一步來分析這個程式 從main進入 for i 5 i 8 i aa 進入迴圈首先i 5,i 8成立 執行aa 此時i 5 執行下面的迴圈 for i 5 i 8 i printf printf n 列印3個星號一個回車符 然後i的值由於aa中的迴圈變成了8 好了,aa執行...

C語言的一道程式設計題一道C語言程式設計題

include typedef struct pos int right pos pos1,pos pos2,pos pos3 double lengthfun pos pos1,pos pos2 int main pos2 pos3 printf n請輸入第 1個點的座標 t printf n請輸...