C語言問題 陣列a 100 1 1 2 3 4 4 5 6 7。程式設計序,刪除相同的

2021-05-11 00:51:34 字數 3346 閱讀 3900

1樓:聽不清啊

下面的程copy序能把任意多個相同連續的數(以-1表示結尾)刪得只留一個:

#include

int main(void)

;for(i=1,j=0;a[i]>=0;i++)if(a[i]!=a[i-1]&&a[i]>0)a[++j]=a[i];

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

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

printf("\n");

return 0 ;}

2樓:天下霸傲

一個for迴圈,加一個臨時變數就解決了

c語言問題:已有定義int a[10]={1,2,3,4,5,6,7,8,9,10} 要求通過指標完成從一維陣列中刪除下標為k的元素

3樓:匿名使用者

兩個問題:

1.輸入k之後 ,要重新將 p 指向 a 即10行前+一句 p = a;

2.最後一個for越界,i=9 時 p+i+1 就成了 p+10

4樓:匿名使用者

「baifor(p=a;p-a<10;p++)」這個迴圈du已經讓p指向zhi了陣列中最後一個元素,所以「for(i=k;i<10;i++)」在這個迴圈之前應該讓daop重新指回陣列的內第一個元素,故改為for(i=k,p=a;i<10;i++)

另外 刪除一個元素之後 陣列中只有9個元素,所容以應當把a[9]賦值為'\0'或者在最後一個迴圈中控制條件改為p-a<9

用c語言程式設計定義包含10個元素的整型陣列,並將0,1,2,3,4,5,6,7,8,9,這10

5樓:匿名使用者

#include

void main()}

6樓:

#include

main();

int i;

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

printf("\n");}

7樓:匿名使用者

#include

int main()

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

c語言問題 若有說明int a[][4]={1,2,3,4,5,6,7,8,9};,則陣列a第一維

8樓:格子裡兮

若有說明int a[][4]=;則陣列a第一維是3。

定義陣列並賦值時c語言規定下標是這樣的,a[n]中的n個元素應該是a[0]....a[n-1]。。

因此int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3。

分析:二維陣列的一維大小,即指二維陣列的行數,在本題中,按行對二維陣列賦值,因此內層有幾個大括號,陣列就有幾行。

9樓:杜爺1號

答案是b,3.

int a[4]的寫法就是表示,第一維大小沒限制,但是第二維陣列大小就是4,也就是int a[4]=,,},明顯是3.

10樓:小兆

你定義的就是一個二維陣列,第二維的個數是4,為了把所有的資料能分成四份有沒有遺漏,那第一維就是3了。

11樓:寂寞的菸頭哥

首先看陣列後面為4表示有四列二維陣列是

1234

5678

9000

這裡就可以很明顯的看出是三行,所以就是a[3][4],第一個叫做第一維,第二個叫做第二維

c語言指標問題。。 若有int a[]={0,1,2,3,4,5,6,7,8,9,0},*p=a,

12樓:匿名使用者

a: a[p-a] = a[0],即bai陣列a的第一個元素。du這裡的a沒有定義,估計應該本來是zhia吧,輸入題目的dao

時候不專小心句首自動大寫了

b: a[i]是數屬組a的第i個元素,&a[i]是該元素的地址,所以*(&a[i])是該元素的值。該項等價於a[i]

c: p[i] = a[i],即陣列a的第i個元素值d: 這個是錯誤的。*(a+i)是陣列a的第i個元素值,*(*(a+i))語法錯誤

c語言的陣列問題{a[0]=a{1};} main() {int a[10]={10,9,8,7,6,5,4,3,2,1}

13樓:匿名使用者

a可理解為指標

抄首先i = 2,a[2]可以理解襲為指向陣列的第三個值,傳到函式裡面a[0]自然就是外面的a[2]了

避免混淆形參和實參,可以將

void fun(int*a) 寫成

void fun(int* p)

這樣的意思就是p所指向的地方,即a[2]的值等於a[3]的值,其餘i = 1、0都是一樣的,將陣列前3個的值換成陣列第四個值

14樓:匿名使用者

這個函式的功能是copy將輸入的指標

bai所指向的後一個變數du賦給指標指向的變數。第一zhi個for迴圈,i為2滿足條件,dao將a[3]賦值給a[2],陣列變為,同理第二次迴圈陣列變為,第三次為,執行此次迴圈後退出第一個for迴圈。第二個for迴圈為輸出陣列的值,因此答案為7777654321。

15樓:匿名使用者

fun(&a[i]);

傳入的是一個值的地址,不是陣列地址。此函式無法工作的

16樓:稅穎漢夏蘭

定義陣列並賦值時baic語言規定du下標是這樣的,a[n]中的n個元素

zhi應該是daoa[0]....a[n-1],由此可見答案b中a[10]已經

專超過規定的範圍,屬故不能表示陣列a中的元素。答案a中因為指標p指向陣列首地址,所以*p相當於a[0]這個元素

???c語言問題int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;不能表示a陣列元素的是?a.*pb.a[10]c

17樓:匿名使用者

定義陣列並賦值時c語言規定下標是這樣的,a[n]中的n個元素應該是a[0]....a[n-1],

由此可見答版案b中a[10]已經超過規定權的範圍,故不能表示陣列a中的元素。答案a中因為指標p指向陣列首地址,所以*p相當於a[0]這個元素

18樓:聽不清啊

b.a[10]

這超出了陣列的下標範圍。

19樓:匿名使用者

b不可以、越界了

a可以,*p = a[0]

c看不到

C語言新手陣列問題,C語言陣列問題

a i j a i j 理解運算優先順序就好了,裡面的那個括號 可有可無 原解析有誤。二維陣列其實就是i個具有j個元素的一維陣列,因此a i j a i j a i j c語言陣列問題 你的 問題有以下幾個 1 min和max沒有初始化 2 對於a min 和a max 沒有做迴圈參考 如下 inc...

c語言中陣列元素互換的問題,C語言中陣列元素互換的問題

當index為0時,bai陣列中下標為du0的和下標為4 0的元素交換,也zhi就是第一個和最後一dao個交換,回1,5 交換 當index為1時,答陣列中下標為1的和下標為4 1的元素交換,也就是第二個和倒數第二個交換,2,4 交換 因為此陣列元素的個數為奇數個,所以,最中間那個沒有必要交換,所以...

C語言陣列下標,C語言陣列的下標

下標可以是變數 也可以是常量。直接說a 0 a 1 a 2 a 3 這樣的下標就是常量。對於訪問來說,不在意是變數還是常量,系統只是需要一個值,作為偏移量 不管是變數還是常量,訪問的時候 肯定是一個特定值,而系統要的 無非是這樣一個偏移量而已。c語言陣列的下標 樓主你好。注意a是常量,不要被別人誤導...