示例输入:
4 6 2 3 6 7 8 1
处理过程:
奇数位:4 2 6 8 升序排序结果: 2 4 6 8
偶数位:6 3 7 1 降序排序结果: 7 6 3 1
结果输出:2 7 4 6 6 3 8 1
输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序.
答案:1 悬赏:0 手机版
解决时间 2021-12-29 00:37
- 提问者网友:夢醒日落
- 2021-12-28 12:31
最佳答案
- 五星知识达人网友:掌灯师
- 2021-12-28 13:38
对奇数位和偶数位分别冒泡:
#include
#include
int main(void)
{
int N,n,i,j;
int *arr;
int tmp;
printf("Please input the number of digits:");
scanf("%d",&N);
arr=(int)malloc(sizeof(int)*N);
printf("Please input %d digits:",N);
for(i=0;i
{
scanf("%d",&n);
arr[i]=n;
}
for(i=0;i
{
for(j=i;j
{
if(arr[i]>arr[j])
{
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
for(i=1;i
{
for(j=i;j
{
if(arr[i]
{
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
printf("The results are:");
for(i=0;i
{
printf("%d ",arr[i]);
}
printf("\n");
free(arr);
arr=NULL;
system("pause");
return 0;
}
#include
#include
int main(void)
{
int N,n,i,j;
int *arr;
int tmp;
printf("Please input the number of digits:");
scanf("%d",&N);
arr=(int)malloc(sizeof(int)*N);
printf("Please input %d digits:",N);
for(i=0;i
scanf("%d",&n);
arr[i]=n;
}
for(i=0;i
for(j=i;j
if(arr[i]>arr[j])
{
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
for(i=1;i
for(j=i;j
if(arr[i]
tmp=arr[i];
arr[i]=arr[j];
arr[j]=tmp;
}
}
}
printf("The results are:");
for(i=0;i
printf("%d ",arr[i]);
}
printf("\n");
free(arr);
arr=NULL;
system("pause");
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯