【20171120】C语言每日一练

来源:互联网 发布:求免费数据恢复软件 编辑:程序博客网 时间:2024/06/04 01:24

【程序46】打印杨辉三角

#include <stdio.h>#include <stdlib.h>//实现思想://1.第一列和对角线都为1;//2.除了对角线和第一列之外,其他元素都是上面的元素和左上角的元素和;//3.用i代替行,j代替列;//4.打印出十行int main(){    int i,j;    int a[11][11];    for(i = 1;i<11;i++)    {        a[i][i] = 1;        a[i][1] = 1;    }    for(i = 3;i < 11;i++)    {        for(j = 2;j <=i-1;j++)        {            a[i][j] = a[i-1][j] + a[i-1][j-1];        }    }    for(i = 1;i <11;i++)    {        for(j = 1;j <= i;j++)        {            printf("%4d",a[i][j]);        }        printf("\n");    }}

运行结果:

这里写图片描述

【程序47】输出三角形

#include<stdio.h>#include<stdlib.h>int main(){    int i,j,k;    for(i = 1;i <=5;i++)    {        for(k = 5-i;k >=1;k--)        {            printf(" ");        }        for(j = 1;j <= 2*i-1;j++)        {            printf("#");        }        printf("\n");    }}

运行结果:
这里写图片描述

【举一反三系列】
【输出菱形】

#include<stdio.h>#include<stdlib.h>int main(){    int i,j,k;    for(i = 1;i <=5;i++)    {        for(k = 5-i;k >=1;k--)        {            printf(" ");        }        for(j = 1;j <= 2*i-1;j++)        {            printf("#");        }        printf("\n");    }    for(i = 1;i <=4;i++)    {        for(k = 1;k <=i;k++)        {            printf(" ");        }        for(j =7;j >= 2*i-1;j--)        {            printf("#");        }        printf("\n");    }}

运行结果:
这里写图片描述

输出:
123456
612345
561234
456123

#include<stdio.h>#include<stdlib.h>int main(){    int i,j,k;    printf("请输入n的值:\n");    scanf("%d",&k);    for(i = k-1;i >=0;i--)    {        for(j = 0;j < k;j++)        {            printf("%d",(i+j)%k + 1);        }        printf("\n");    }}

运行结果:
这里写图片描述

这个和数据结构的循环链表有点像,可以放在一起思考。