c语言:简单的c语言题合集

杨辉三角:

杨辉三角这一类的题型全都是找规律,无一例外;个人感觉这类找规律的题型完全是出题人闲得无聊,但是c语言考试无论是期中期末甚至考研都考

还是在这里做一个记录吧:

#include<stdio.h>
#include<stdlib.h>
int main(){
    int a[14][14];
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        a[i][1]=1;//因为三角形的构造原因,第一个数时1
        a[i][i]=1;//最后一个数也是一,即a[i][i]
    }
    for(int i=1;i<=n;i++)//设定是以1为下标开始的,i代表行号
        for(int j=2;j<=i-1;j++)//j代表列号,由于每一行的最右边都补1了,所以j只能到倒数第二个为止,否则覆盖了1
            a[i][j]=a[i-1][j-1]+a[i-1][j];//规律:a[i][j]=a[i-1][j-1]+a[i-1][j]
    
    for(int i=1;i<=n;i++)//从第1行开始打印
    {
        for(int k=1;k<=n-i;k++)//为了美观,我们需要在每一行前面补上空格保持格式
            printf("   ");//一共5行(代表n行),第一行就需要补4个空格,第i行就要补n-i个空格
        for(int j=1;j<=i;j++)//打印每行数字的个数:第一行1个,第二行2个,第三行3个
            printf("%6d",a[i][j]);
        printf("\n");//每一行打印完成就换行
    }
    printf("\n");
}

 

给定一个整形数组b[0...N-1],b中连续相等元素构成的子序列称为平台。编写程序,求出b中最长平台的长度

#include<stdio.h>
int main(){
    int a[10]={1,1,2,3,3,3,4,4,4,4};
    int n=10;
    int max=0;//最长子串长度
    int cnt=1;//临时计数器,cnt定为1是因为自己本身就算一个长度
    for(int i=1;i<n;i++)
    {
        if(a[i]==a[i-1])//自身等于前一个数,cnt++,并且把自身赋给max
        {
            cnt++;//临时计数器++
            max=cnt;//将临时的计数器放入到长度计数器max中
            printf("a[%d]:%d,cnt=%d,max=%d\n",i,a[i],cnt,max);
        }
        else{
            cnt=1;//前后不相等,重置为1
            printf("a[%d]:%d,cnt=%d,max=%d\n",i,a[i],cnt,max);
        }
    }
    printf("%d\n",max);
}

 

posted @ 2020-08-23 19:07  雾漫大武汉  阅读(490)  评论(0编辑  收藏  举报