凌域 2023-03-21 19:17 采纳率: 70%
浏览 14
已结题

C语言while语句调试问题

#题目如下图,我想知道为何我在while处无法调试,现在不知道这个程序的正确与否,请各位答主指点迷津

img

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

int maxn(int n)
{
    int ge,ten,hund,thoud;
    thoud=n/1000;
    hund=(n%1000)/100;
    ten=(n%100)/10;
    ge=n%10;
    int a[4];
    a[0]=ge;
    a[1]=ten;
    a[2]=hund;
    a[3]=thoud;
    int i,j,t;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3-i;j++)
        {
            if(a[j]<=a[j+1])
            {
                t=a[j+1];
                a[j+1]=a[j];
                a[j]=t;
                
            }
        }
    }
    int maxnn;
    maxnn=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return maxnn;
    
}

int minn(int n)
{
    int ge,ten,hund,thoud;
    thoud=n/1000;
    hund=(n%1000)/100;
    ten=(n%100)/10;
    ge=n%10;
    int a[4];
    a[0]=ge;
    a[1]=ten;
    a[2]=hund;
    a[3]=thoud;
    int i,j,t;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3-i;j++)
        {
            if(a[j]>=a[j+1])
            {
                t=a[j+1];
                a[j+1]=a[j];
                a[j]=t;
                
            }
        }
    }
    int minnn;
    minnn=a[0]*1000+a[1]*100+a[2]*10+a[3];
    return minnn;
    
}

int main()
{
    int n,min,max,t;
    scanf("%d",&n);
    max=maxn(n);
    min=minn(n);
    t=max-min;
    while((maxn(maxn(t)-minn(t))!=max)||(minn(maxn(t)-minn(t))!=min));
    {    
        t=max-min;
        max=maxn(t);
        min=minn(t);
        printf("%d,%d,%d",t,max,min);
    }
    
    printf("\n1%d,%d,%d",max-min,max,min);
    
    
}

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2023-03-21 19:52
    关注

    while语句最后的分号删掉啊!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月21日