app*_*ppy 5 c arrays sorting range sequence
给定一系列数字,打印每个可用范围.例如阵列:9,3,5,7,4,8,1输出:1,3-5,7-9注意:请执行此问题而不使用其他阵列.
我该怎么办?*
#include<stdio.h>
int main()
{
int a[]={9,8,8,7,6,5,14};
int n= sizeof(a) / sizeof(a[0]);
int i,j;
int temp;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
*1我将按升序排序,我不知道接下来该做什么?PS:我在C编码.
下一步是识别序列。尝试以下循环(未完全调试):
first= next= a[0];
for (i=1; i<n; i++) {
if (a[i] > next+1) {
if (next>first)
printf("%d-%d,", first, next);
else printf("%d,", first);
first= next= a[i];
}
else next++;
}
Run Code Online (Sandbox Code Playgroud)