c語言程式設計,檢測到數列中的0就移動到最後

時間 2021-08-30 10:45:09

1樓:老魘

第二個迴圈初值應為:a=1。就按你的例子,數列中有兩個0,但你迴圈中卻是a從0~2,迴圈三次,填了三個0。

注意,不能使用a=0;a這個程式其實用不到k,直接利用 j 的值即可,因為當第一迴圈結束時 j 正好指向非0 的下乙個位置,就是用:for( ;j進一步說,第二個迴圈可以不要,只要在移動非0時,將原位置置 0 即可,即在nums[j]=nums[i]之後加上nums[i]=0。

本程式的要點在於迴圈和陣列的邊界處理。這類問題,編譯和執行可能都不會出錯,但在大型系統中將會成為不可再現或難以再現的錯誤現象。

2樓:聽不清啊

沒有問題啊。

#include

void movezeroes(int* nums, int numssize)

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

movezeroes(a,5);

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

printf("%d ",a[i]);

getch();

return 0;

用c語言程式設計:將整形陣列中的所有元素前移乙個位置,0號元素移到最後

3樓:匿名使用者

用for迴圈逐步移動即可。

#include

// 所有元素前移乙個位置,0號元素移到最後void loopmove(int *dat, int len)void output(int *dat, int len)int main()

, len = 10;

printf("原始資料:62616964757a686964616fe58685e5aeb931333337613836");

output(a, len);

loopmove(a, len);

printf("第一次:");

output(a, len);

loopmove(a, len);

printf("第二次:");

output(a, len);

return 0;}

4樓:匿名使用者

#include

#include

int main()

5樓:匿名使用者

儲存0下標 這個元素 , 然後依次實現移位, 最後將儲存元素 賦值給陣列末

6樓:匿名使用者

# include

int main(void)

;long j, k;

k = i[0];

for (j=0; j<7; j++)

i[7] = k;

for (j=0; j<8; j++)

printf("%-5d", i[j]);

putchar('\n');

return 0;}

c語言程式設計:找出乙個數列中的最大值和最小值,然後將最大值和最小值位置交換

7樓:匿名使用者

int main()

;int i, temp, posmax = 0, posmin = 0;

int maxi = marks[0];

int mini = marks[0];

for (i = 1; i != 10; ++i)if(maxi < marks[i])

}temp = marks[posmax];

marks[posmax] = marks[posmin];

marks[posmin] = temp;

for (i = 0; i < 10; i++)return 0;}

8樓:孤獨一客人

#include

void main()

int h;

h=max;

max=min;

min=h;}

9樓:匿名使用者

for(i=0;ia[i+1]?a[i]:a[i+1];

}t=m;m=n;n=t;

C語言if判斷的格式,C語言程式設計中if語句的格式是什麼?

if a b a c a d a e a f a g b c b d b e b f b g c d c e c f c g d e d f d g e f e g f g 上面比較笨的寫法了,執行效率還可以 include stdio.h int a 1,b 2,c 3,d 4,e 5,f 6,g...

C語言程式設計的取餘,C語言程式設計中運算子 (求餘運算子)怎樣使用?

c語言的取餘運算是指兩個整數相除時,運算結果只取商的整數部分,並且沒有四捨五入。那個函式輸出結果是 30 7is2 c語言中要輸出百分號,在printf函式裡必須用兩個百分號做格式控制,因為百分號本身被用作格式控制前導符使用了,屬於編譯系統的保留字元,它已經不能代表它自己了,為了能輸出它,就做了這個...

用C語言程式算sinX的值,c語言程式設計中,sinx怎麼表示?

程式有幾個問題 1.long double型資料輸入輸出都要用 lf,而你都用的是 f。2.if i 1 此處應該為 x 1 3.while pow x,j p 1e 5 此處應該為 pow x,j p 1e 5 目前就發現這麼多錯誤,但是答案貌似不對。你再檢查檢查。c語言程式設計中,sinx怎麼表...