最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

《編程思維與實(shí)踐》1032.行數(shù)據(jù)的排序

2023-04-09 01:01 作者:風(fēng)淺葉墨  | 我要投稿

題目

思路

類似于字符串的strcmp函數(shù),按要求寫出排序函數(shù)即可.

關(guān)鍵在于如何處理輸入的數(shù)據(jù),由于一行數(shù)據(jù)最多50個(gè)(不包括1),所以可以開一個(gè)大小51的數(shù)組,初始化為-1,但讀入的數(shù)據(jù)不為-1時(shí)存入數(shù)組.

數(shù)據(jù)大小不超過10^9,用int存即可.

代碼

#include<stdio.h>
#include<stdlib.h>

int cmp(const void *a,const void *b)
{
? ?int *m=(int*)a;
? ?int *n=(int*)b;
? ?int i;
? ?while(*m!=-1&&*n!=-1)
? ?{
? ? ? ?if(*m!=*n)
? ? ? ?{
? ? ? ? ? ?return *n-*m; ? //從大到小
? ? ? ?}
? ? ? ?else{
? ? ? ? ? ?n++;
? ? ? ? ? ?m++;
? ? ? ?}
? ?}
? ?if(*n==-1&&*m!=-1)
? ?{
? ? ? ?return -1;
? ?} ?
? ?else
? ?{
? ? ? ?return 1;
? ?}
}

int main()
{
? ?int T;
? ?scanf("%d",&T);
? ?for(int i=0;i<T;i++)
? ?{
? ? ? ?int N;
? ? ? ?scanf("%d",&N);
? ? ? ?int tab[N][51]; ? //預(yù)留一個(gè)-1的位置
? ? ? ?for(int j=0;j<N;j++)
? ? ? ?{
? ? ? ? ? ?for(int k=0;k<51;k++)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?tab[j][k]=-1;
? ? ? ? ? ?}
? ? ? ?}
? ? ? ?for(int j=0;j<N;j++)
? ? ? ?{
? ? ? ? ? ?int k=0;
? ? ? ? ? ?int temp;
? ? ? ? ? ?while(scanf("%d",&temp)&&temp!=-1)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?tab[j][k++]=temp;
? ? ? ? ? ?}
? ? ? ?}
? ? ? ?qsort(tab,N,51*sizeof(int),cmp);

? ? ? ?for(int j=0;j<N;j++)
? ? ? ?{
? ? ? ? ? ?for(int k=0;tab[j][k]!=-1;k++)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?printf("%d ",tab[j][k]);
? ? ? ? ? ?}
? ? ? ? ? ?printf("\n");
? ? ? ?} ?
? ?}
? ?return 0;
}


《編程思維與實(shí)踐》1032.行數(shù)據(jù)的排序的評論 (共 條)

分享到微博請遵守國家法律
北京市| 济宁市| 衡南县| 施秉县| 项城市| 涟源市| 桦川县| 泗洪县| 新安县| 博野县| 迭部县| 黄平县| 凤山县| 镇原县| 宾阳县| 丹江口市| 桐乡市| 文水县| 平塘县| 绵竹市| 布尔津县| 昔阳县| 阳泉市| 武定县| 察雅县| 建德市| 阿图什市| 小金县| 福州市| 万州区| 盐津县| 塔河县| 萨迦县| 阳朔县| 彩票| 东阳市| 益阳市| 敖汉旗| 且末县| 永兴县| 广水市|