小冷漠‰959 2023-04-01 00:39 采纳率: 70%
浏览 6

关于#c语言#的问题:递增三元组,请求查错#include <stdio.h>

递增三元组,请求查错

#include<stdio.h>
#define max 100010
 int main()
 {
     int i,j,p,q,n,t;
     int sum=0,num=0,aum=0;
     scanf("%d",&n);
     int a[max],b[max],c[max];
     for(i=0;i<n;i++)
     {
         scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
     {
         scanf("%d",&b[i]);
    }
    for(i=0;i<n;i++)
     {
         scanf("%d",&c[i]);
    }
    for(i=0;i<n;i++)
    {
        for(p=i+1;p<n;p++)
        {
            if(a[p]<a[i])
            {
                t=a[p];
                a[p]=a[i];
                a[i]=t;
            }
            if(c[p]<c[i])
            {
                t=c[p];
                c[p]=c[i];
                c[i]=t;
            }
        }
    }
    for(i=0;i<n;i++)
    {
        sum=0;num=0;
        for(j=0;j<n;j++)
        {
            if(a[j]<b[i])
            {
                sum++;
            }
            if(b[i]<c[j])
            {
                num++;
            }
            if(a[j]>=b[i] && c[j]<=b[i])
            {
                break;
            }
        }
        aum=aum+sum*num;
    }
    printf("%d",aum);
    return 0;
 }
  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-01 02:08
    关注
    • 这篇博客: 打印四种重要类型的正三角形(c语言)中的  #include<stdio.h 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • int main()
      {
          int n, k;
          int i;
          scanf("%d", &n);

      //i是代表行数
          for (i = 1; i <= n; i++)
          {

      //k代表空格数,因为刚开始的数在居中位置,所以输出的空格应该是输入的数n-行数i
              for (k = 1; k <=n-i; k++)
              {
                  printf(" ");

              }

      //j代表输出相同数的个数,很显然j是以2i-1往下递增的,并且每打一行,j++,直到j大于2*i-1,跳出循环
              for (int j=0;j<2*i-1;j++)
              {

      //最后输出的结果为(i-1)%10是因为最大的数是9,当输入的n大于9时,取n对10的余数
                  printf("%d", (i-1)%10);
              }
              printf("\n");
              }

          return 0;
      }

                                                               第二种类

       

      #include<stdio.h>
      int main()
      {
          int i, a, b, c;
          scanf("%d", &a);

      //b代表输出的行数;
          for (b = 1; b <= a; b++)
          {

      //i代表每行输出的空格数
              for (i = 1; i <= a - b; i++)printf(" ");

      //c代表每行输出的个数,(b-1)代表首项的数,(((b - 1) % 10) + c - 1) % 10);代表的是输出最大的数,且在最大的数两旁依次递减
              for (c = 1; c <= 2 * b - 1; c++) printf("%d", (((b - 1) % 10) + c - 1) % 10);

              printf("\n");
          }


          return 0;
      }
                                                      第三种类

       需特别注意当输入的值大于26时,输出需返回值为A,而且输出是字符串类型的

      int main()
      {
          int n;
          int b, c, i, d;
          scanf("%d", &n);
          d = 'A';
          for (b = 1; b <= n; b++)
          {
              for (i = 1; i <= n - b; i++)
              {
                  printf(" ");
              }

      输出的值,因为是字符串类型的,所以要%c,且d是代表字符串'A',所以要把d放外面(( b - 1)%26))则是因为当输入的n大于26时,输出要重新为A


              for (c = 0; c < 2 * b - 1; c++)
              {
                  printf("%c", d+(( b - 1)%26));
              }
              printf("\n");
          }


          return 0;
      }

                                                               第四种类

       

      #include<stdio.h>
      int main()
      {
          int n ;
          int b, c, i, d, e;
          scanf("%d", &n);
          d = 'A';
          for (b = 1; b <=n; b++)
          {
              for (i = 1; i <= n - b; i++)
              {
                  printf(" ");
              }
              for (c = 0; c < b; c++)
              {
                  printf("%c", d + c);
              }
              if (b > 1)
              {

      //当行数大于一时,字符A加e的值
                  for (e = b - 2; e >= 0; e--)
                      printf("%c", d + e);
              }

              printf("\n");
          }


          return 0;
      }

       写出和总结出这些真的很不容易,希望大家以后多多支持我这个编程小白哦,希望在以后的创作中再给大家带来惊喜!

    评论

报告相同问题?

问题事件

  • 创建了问题 4月1日

悬赏问题

  • ¥15 github录制项目
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 如何解决调试dev-出++5.11不成功问题
  • ¥15 安装CentOS6时卡住
  • ¥20 关于#监控系统#的问题,如何解决?(相关搜索:系统软件)
  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。