1樓:聽不清啊
程式當中一共有三個錯誤。第一,定義的浮點數。
變數sum沒有初始值,應該在定義的時候給他賦初始值為0。第二拍畝,迴圈體沒有加花括號,導致只有讀入語句是執行迴圈的,薯賀鬧而下面的累加到sum的語句則要到迴圈結束以後才執行一次,起不到累加的作用。數罩第三,格式化輸入語句scanf在給float型別輸入時是不能指定小數位數的(最多隻能限定總位數),應該使用%f格式符。
2樓:
在執行完 for (i = 0; i <=9; i++)語句後,i = 10
然後再執行 sum +=a[i] 一次的時候就是加上 a[10],當鄭弊然結果就是預設的 浮點數 了慶叢亂!
估計你想要的過程應該是在執行 for 循譽檔環每次的時候就累加一次,那你就應該把 sum +=a[i] 語句放在 for 語句塊({}中才合適。
3樓:帳號已登出
代州歷碼中這個語句"sum+=a[i];"應放冊早搜睜灶在for迴圈體裡面,這時因為語句數量是2,所以應該用大括號將它們括起來。
4樓:網友
有兩個小問題:
sum應該初始化為0,像。
sum=0;
for迴圈巖戚此粗迅寫錯了,改成。
for(i=0;i<=9;i++)
scanf("仔悶%f",&a[i]);
sum+=a[i];
5樓:創億百家
需仔滑要把後面那個sum+=a[i]用花括號括號和前面那個語句連起來 放到前面鬧塌那個for語句裡 作為念彎臘for迴圈體。
c語言想輸入乙個陣列,然後輸出這個陣列,這樣為什麼不行
6樓:冀峰馬躍
陣列a中有三個元素,即a[0],a[1],a[2];在輸出的時候a[3]下標越界。
要想輸出陣列中的所有元素,必須藉助迴圈把陣列中的元素逐個輸出;例如:
main(),i;
for(i=0;i<3;i++)
printf("%d",a[i]);
我編得這個這個c語言程式,即輸入乙個3*3陣列,輸出原陣列及求和。其他都沒問題,就是求和的時候出錯。
7樓:網友
陣列下標操作含義你明白嗎?
a[3][3] 是乙個常指標,不是整個陣列。
一般陣列引數是這樣傳的 void add(const int* a, const size_t num), 第乙個是陣列指標,第二個表示它的長度。二維陣列類似。
有a[3][3]做引數這樣搞得嗎?
8樓:網友
額,樓主,你這樣寫,**能通過嗎,二維陣列不能這樣傳遞的。
改為:m=add(a);
9樓:網友
m=add(a),傳遞陣列時傳遞陣列的首位址,即陣列名。
c語言 將檔案中的數字輸入到乙個二維陣列中為什麼輸出的結果不對???
10樓:網友
fscanf(fv, "%d,", sys[h][g]);應該是吧。
另外陣列sys最好定義為int型。
c語言給乙個陣列賦值完畢後,輸出這個陣列,**錯了?
11樓:王愛飛
你執行的時候應該是報「記憶體不能為讀」之類的溢位錯誤,在linux系統上提示為「段錯誤」,**應該改為下面的樣子:
#include
#include
int main()
for(i = 0; i < 10; +i)return 0;}
12樓:網友
printf("%d",a[10]);
這樣陣列越界了,即使不越界,也只輸出了乙個而已for i=0; i<10; i++
printf ("%d",a[i])
13樓:無敵大寶石
你定義的陣列a[10]是從a[0]到a[9]而之後輸出a[10]就溢位越界了,所以不對。
c語言的乙個關於陣列的問題.為什麼輸出結果不一樣?????
14樓:侯又聊靜婉
array[j]!=0'是乙個不確定條件,因為陣列中沒有這個值,所以j會一直加,直到遇到空,然而**有空,誰也不知道。
用c語言從檔案裡面讀入資料並儲存在陣列,為什麼陣列前後輸出資料不一樣?
15樓:網友
這種情況通常是檔案讀寫操作錯誤,讀寫是不匹配,可以把檔案操作部分的**貼上來看看。
16樓:沈奕浪
這種你把**發上來才能找的出來。
c語言陣列的輸入和輸出不一樣啊,顯示沒有錯誤
17樓:網友
一樣啊,除了你自己打錯的一些地方,程式本身應該沒什麼毛病,只不過是你的輸出沒有加分隔符,所以三個整數連在一起輸出了。
18樓:網友
如果想逆序輸出將第二個for(i=0;i<3;i++)改為。
for(i=3;i>0;i--)如果直接輸出的把第二個for(i=0;i<3;i++)去掉。
初學c語言陣列,輸入四個數,輸出的為什麼不對
19樓:網友
陣列越界了,而且不是輸入4個數的。
>for(i=0;i<4;i++)
scanf("%d",&a[i]);
20樓:葶葶毓荔
scanf("%d",&a[4]);這行是不對的,首先a[4]就是不對的,只能到啊[3],其次,這語句只能輸入乙個數,應該用for語句輸入,即:for(i=0;i<4;i++)
scanf("%d",&a[i]);
21樓:網友
你還要給輸入加個迴圈。
for(i=0;i<4;i++)
要不然你裡面有4個資料,但是你只輸入了a[4]這乙個資料,他怎麼顯示的了全部呢?
再說你下從0開始,你輸出只能看到a[0]-a[3]所以你給a[4]複製你也看不到。
22樓:網友
輸入陣列的方法錯了,你這樣只能輸入一次,而且輸入的是a[4],顯然越界了。
for(i=0;i<4;i++)
scanf("%d",a+i); //也可以寫成 scanf("%d",&a[i]);
23樓:孫祥and孫祥
scanf("%d",&a[4]);你把所有的數輸入到a裡了,你可以這樣。
for(i=0;i<4;i++)
scanf("%d",&a[i]);
要想連續輸入的話可以用字串與整型數之間的轉換char a[5];
int i;
scanf("%s",a);
for(i=0;i<4;i++)
printf("%c",a[i]);
怎樣將一個陣列逆序輸出?將一個陣列逆序輸出
從最後一個元素,逆向遍歷到陣列的0元素,逐一輸出即可實現。1 建立陣列 2 輸入值 3 逆序遍歷輸出陣列。樓上的有我認為有些問題,我改了一下。include void main void 假設為你的陣列。int i 10 while i 0 將一個陣列逆序輸出 includeintmain retu...
c語言程式設計 輸入元素的陣列,輸出這個陣列的最大值,最
include int main for i 0 i 5 i arv sum 10.0 for i 0 i 5 i for i 0 i 5 i printf n printf 最大值為 2f 最小值為 2f a 0 a 4 printf n printf 2f n arv printf n retu...
c語言一個將陣列傳遞給函式的程式不懂?求解!
int largest 裡面兩個引數有什麼用?一個是陣列,一個是陣列長度。為什麼if 語句中num array count 要大於biggest 函式本身是為了找到陣列中最大的數,迴圈查詢,如果找到比當前最大的數biggest更大的數,則更新biggest,也就是下一句 biggest num ar...