C語言菜鳥求助,這個程式思路可以嗎?有哪些需要修改的地方?求輸入的數字與平均數最接近的數字

時間 2022-07-08 23:00:03

1樓:匿名使用者

恩,你的思想當然是對的了,只不過可能練得比較少,有一些錯誤罷了。

1、for裡面是賦值的,為什麼全都賦值給了&a,要知道a只是表示a[0]而已,正確的應該是&a[i]

for(i=0;i<=9;i++)

scanf("%l",&a);

2、沒有看到vd的實現,而且你這種呼叫方法應該編譯不過吧?float vd();宣告,呼叫卻是vd(a);

引數不一樣,這樣是編譯不過的。

3、你輸出階段不知道找a,首先 printf("a[%d]=%d" k,m);這裡的k是**來的呢?你應該是想vd函式找到的就是最接近的吧?那麼m應該就是他的下標了,那麼就是這樣的:

printf("a[%d]=%d" m,a[m]);

還有什麼問題呢?另外,vd的實現有一點點複雜哦。樓主可以考慮一下演算法。呵呵

2樓:匿名使用者

float vd();這個函式在**?首先裡面有形參,你宣告的時候沒寫形參。再說了,這個函式是幹嘛的你也沒寫,光宣告也用不到。所以m=vd(a);這條語句就不成立了

3樓:超級奶爸頭子

vd函式沒有實現啊。只是宣告瞭。而且你要求10個數裡面和平均數最接近的數,應該用到兩個引數一個是平均數,一個是陣列。

這樣才能求出來。再說你的 k 改為 i 在**定義了?我沒找到。

4樓:

1.scanf("%l",&a);改成scanf("%f",&a); float型別是%f

2.float vd();這是個函式?這麼定義肯定不對啊,這才是定義函式的方法float vd(){};

3.m=vd(a);上面定義的float vd();不含引數,你呼叫的時候有引數,不對。

4.printf("a[%d]=%d" k,m);k沒有定義,m是float型別,不能用%d,要用%f

菜鳥提問 請教這個C語言程式怎麼寫

1.除以10000看商如果大於1就是五位數。不是就繼續除以1000,100,10 2.假設這個數是x,五位.x 10000得到第五位x5 x x5 10000 1000得到第四位x4 3.得到了x3,x2,x1就用 printf d d d x1,x2,x3 逆序輸出若要得到123這個整數,可以用x...

C語言菜鳥程式設計求助,C語言 求幫助

include void pickup char sp,char dp,char rp char p,q,w p sp w rp while p q dp while q if p q p w p q p w 0 int main char s1 30 s2 30 s3 15 printf 請輸入字...

求助微控制器c語言程式問題,求助 微控制器C語言程式問題

第一個是在主程式中設定的定時計數器中斷相關引數設定,tmod 0x10 設定定時計數器的工作方式為方式1 16為計數器 也就是計數範圍為 0 65536 th1 65536 200 256 tl1 65536 200 256 設定計數器的初值為 200.ea 1 開總中斷,et1 1 開定時計數器1...