看清之后才看轻 发表于 2021-10-16 18:23:18

输出有错误,如何修改?

#include <stdio.h>

int main(){
    int a = {20,21,22,8,1,54,2,3,99,14,11,12};
    int j=0,k;
   
    while(j<12){
      printf("(");
      while(a<a){ //升序
            printf("%d,",a);
            if(a>a){
                printf("%d",a);
                j++;
            }
            else{
                j++;
                continue;
            }
            printf(")");
      }
      printf(",");
      printf("(");
      while(a>a){ //降序
            printf("%d,",a);
            if(a<a){
                printf("%d",a);
                j++;
            }
            else{
                j++;
                continue;
            }
            printf(")");
      }
      printf(",");
    }
}
输出是这个:(20,21,22),(22,8,1),(1,54),(54,2),(2,3,99),(99,14,11),(11,12),(12,11),
就差一点了,请问怎么改?

jhq999 发表于 2021-10-16 20:25:07

本帖最后由 jhq999 于 2021-10-16 20:44 编辑

int a = {20,21,22,8,1,54,2,3,99,14,11,12};
    int i=1,flag1=0,flag2=0;
        if (a>a)
        {
                flag2=flag1=1;
        }
        printf("(");
    while(1)
        {
               
                if (flag1!=flag2)
                {
                        printf("),(");
                        flag1=flag2;
                        i--;
                }
                else if (i>1)
                        printf(",");


                printf("%d",a);
                if (i>11)break;
       
                if (a>a)
                {
                        flag2=1;
                }
                if (a<a)
                {
                        flag2=0;
                }
                i++;
    }
        printf(")");
页: [1]
查看完整版本: 输出有错误,如何修改?