北国137 2022-11-27 17:07 采纳率: 90%
浏览 2
已结题

关于#c语言#的问题,请各位专家解答!

img

#include<stdio.h>
#include<math.h>
int opposite(int n)
{
    int m=(int)ceil(log(n)),sum=0;
    for(int i=m-1;i>=0;i--)
    {
        sum=n%10*pow(10,i)+sum;
        n=n/10;
    }
    return sum;
}
int main()
{
    int bottle,d;
    scanf("%d\n",&d);
while(d--)
{
    int a[50]={0},k=0,m,n;
    scanf("%d%d",&m,&n);
    for(int i=m;i<=n-m;i++)
    {
        a[k]=opposite(i);
        k++;
    }
    while(1)
    {
    int sum=0;
    for(int j=1;j<k;j++)
    {
        if(a[k]<a[k-1])
        {
            bottle=a[k];
            a[k]=a[k-1];
            a[k-1]=bottle;
            sum++;
        }
    }
    if(sum==0)
    break;
    }
    for(int i=0;i<k;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n");
}
    return 0;
}

运行之后没有结果,个人认为可能是输出的语句不太正确,但看不出来是哪里不对

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-27 20:13
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月6日
  • 已采纳回答 11月28日
  • 创建了问题 11月27日