C語言程式設計問題 給陣列中的元素按順序編號

2022-09-15 05:46:50 字數 3169 閱讀 2438

1樓:匿名使用者

最直接的辦法,用一個陣列來作hash,時間複雜度最低,但是有最大值的限制,如下:

#include

#define max_num 10000#define n 10

int main()

;int a[n],i,j;

int max = 0;

for(i=0;i= max_num)

b[a[i]] = 1;

if(a[i] > max)

}int idx = 1;

for(i = 0; i <= max; i++)}for(i=0;i

#define max_num 10000#define n 10

int main() ;

int a[n],i,j;

int max = 0;

for(i=0;i= max_num)

return -1;

b[a[i]] = 1;

max = a[i] > max ? a[i] : max;

}int idx = 1;

for(i = 0; i <= max; i++)b[i] = b[i] > 0 ? idx++ : b[i];

for(i=0;i

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

printf("%d\n", b[a[n - 1]]);

return 0;

} 不過**長度有這麼重要麼?**的可讀性和正確性才是第一位的! 如果太糾結於長度,不如把所有**都寫道一行算了。多爽:「看,我的**一行就搞定了;」

2樓:石大力學新生

#include

#include

int main()

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

}b[i]=count;

count=1;

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

printf("\n");

return 0;

}這樣做最簡單,二十行。。。。。你是哪個學校的?

c語言程式設計題目 對已知整數陣列a[]的元素按從小到大的順序連續編號(即,值相同的元素有相同編號),

3樓:我已經匿名了

//思路:用指標陣列進行排序,儲存排序後的下標到c中。即a[c[0:n-1]]是升序的

//      然後依次比較c[i]為下標的有序陣列a[c[0:n-1]]的各元素,進行順序編號

/*對已知整數陣列a的元素按從小到大的順序連續編號(即:值相同的元素有相同編號),

並將編號儲存在陣列b中. 即, a[i]的編號為b[i]. 要求:

1)用指標陣列實現;

2)陣列a的元素隨機生成(值<10)。

*/#include

#include

#include

#define  n  10

void printintarr(int a, int n);//列印整型跟陣列a的前n個值

//交換兩個int*型指標的值

void swap2intpointer(int **x, int **y);

void swap2int(int *x, int *y);

int main()

,b[n]={},c[n]={};;

int *p[n]=;

int flag=1; //1表示有交換

//生成陣列,並初始化指標陣列

for(int i=0;i*p[j+1])}}

//printf("排序後:\n");

//for(i=0;i

c語言程式設計問題:給陣列中的元素按順序編號

4樓:匿名使用者

你好!請參考:

#include

#define max_num 10000#define n 10

int main() ;

int a[n],i,j;

int max = 0;

for(i=0;i= max_num)

return -1;

b[a[i]] = 1;

max = a[i] > max ? a[i] : max;

}int idx = 1;

for(i = 0; i <= max; i++)b[i] = b[i] > 0 ? idx++ : b[i];

for(i=0;i

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

printf("%d\n", b[a[n - 1]]);

return 0;}

求大神程式設計,用c語言編寫,題:定義一個含有30個整型元素的陣列,按順序分別賦予從2開始的偶數,然後安

5樓:

#include

int main()

}for(i=0;i<6;i++)

printf("%d ",b[i]);}

6樓:亂舞大螃蟹

#include

int main()

for(i = 0, n = 0; i < 30; n++)sumarr[n] = sum/5;

i += 5;

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

7樓:匿名使用者

#include

int main()

;int second[10] = ;

int i=0, j = 0;

int count = 0, temp = 0;

for( i=0; i<30; i++ )}for( i=0; i<30; i++ )printf( "\n" );

for( i=0; i

printf( "\n" );

return 0;}

c語言陣列題目 題目要求: 程式設計實現將陣列中的元素值按照相反順序存放。

8樓:匿名使用者

以上**中有2處錯誤:

1、for迴圈中判斷條件應該是str1[i]!='\0'

2、for迴圈的右括號}與printf之間缺少一句:str2[i]='\0';

C語言程式設計把含有整數的陣列元素按逆序排列並輸出。求專業人

include void reverse int x,int len int main i reverse a,10 for i 0 i 10 i printf d a i printf n return 0 c語言將陣列a中的10個整數降序排列並輸出,如何程式設計?這個是自己輸入10個整數,不想自...

C語言程式設計問題(用一維陣列),C語言程式設計問題(用一維陣列)

include void main int i,j,n,k,x,a 100 scanf d d n,x k n for i 0 i include include int main int i,j,n,x,a scanf d d n,x a int calloc n,sizeof int 申請陣列空...

有關陣列的程式設計問題,c語言,有關陣列的程式設計問題,c語言

這個比較短 include define n 100 int main void 學弟,不是學長不想幫你,怕你老師罵我 給你說個思路吧,既然是找最大,那就先初始讓max等於第一個,用陣列記錄學號,用一個num記錄一哥人數 後面跟前面的比,若大,則替換max為後面的,一哥人數 置1,陣列第一個放他的學...