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'; 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個整數,不想自... 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 申請陣列空... 這個比較短 include define n 100 int main void 學弟,不是學長不想幫你,怕你老師罵我 給你說個思路吧,既然是找最大,那就先初始讓max等於第一個,用陣列記錄學號,用一個num記錄一哥人數 後面跟前面的比,若大,則替換max為後面的,一哥人數 置1,陣列第一個放他的學...C語言程式設計把含有整數的陣列元素按逆序排列並輸出。求專業人
C語言程式設計問題(用一維陣列),C語言程式設計問題(用一維陣列)
有關陣列的程式設計問題,c語言,有關陣列的程式設計問題,c語言