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

递增三元组,请求查错

#include
#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"%d",&a[i]);
    }
    for(i=0;i"%d",&b[i]);
    }
    for(i=0;i"%d",&c[i]);
    }
    for(i=0;i1;p0;i0;num=0;
        for(j=0;j=b[i] && c[j]<=b[i])
            {
                break;
            }
        }
        aum=aum+sum*num;
    }
    printf("%d",aum);
    return 0;
 }
  • 这篇博客: 打印四种重要类型的正三角形(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;
    }

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

第21行:for(i=0;i<n;i++) 修改为:for(i=0;i<n-1;i++)