精华内容
下载资源
问答
  • 数字三角形2 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: 无限制 描述 由键盘输入正奇数N,输出如下图所示的(N+1)/2 行的数字三角 ![图片说明]...
  • 本题要求编写程序,倒序输出 n行 由 指定数字开始构成的 左上三角形数字阵列。 输入格式: 输入在一行中给出一个整数n(1≤n<7)和一个整数m。 输出格式: 倒序输出n行由m开始构成的左上三角形阵列。格式见...

    本题要求编写程序,倒序输出 n行 由 指定数字开始构成的 左上三角形数字阵列。

    输入格式:

    输入在一行中给出一个正整数n(1≤n<7)和一个正整数m。

    输出格式:

    倒序输出n行由m开始构成的左上三角形阵列。格式见输出样例,其中每个数字后面都有一个空格。

    输入样例:

    3 9

    输出样例:

    9 8 7 
    6 5 
    4 

    解析答案:

    方法一:

    #include <stdio.h>
    int main(void)
    {
        int n, m, i, j, y;
        scanf("%d %d", &n, &m);
        y=n;//等腰直角三角形中行列相等
        for(i=0;i<n;i++,y--)
        {
            for(j=0;j<y;j++)//此时y为了改变列的循环条件
        {
                printf("%d ",m--);
            }
            printf("\n");
        }
    }

    题目目的是为了倒序输出n行由m开始构成的左上三角形阵列。

    我们注意题目中for循环中需要输出n行,而列则会随着行数的变化而变化,另外输出的数字也会逐次减一。所以在for循环嵌套的过程中,令y赋值为n的值,外层的for循环每执行完一轮,均令y--,最后只在printf块中m--即刻满足要求。

     

    方法二:

    #include <stdio.h>
    int main(){
        int m,n,i,j,x,y,z;
        scanf("%d %d",&n,&m);
        x=m+n+1;    //输出中的-1行首列数字("无效"的输出)
        y=n+1;      //算上无效的-1行,一共是n+1行
        z=m+1;      //输出中的-1行末列数字("无效"的输出)
        for(i=1;i<=n;i++)
        {
            x=x-(y--);    //输出的首行数字
            z=z-y;        //改变每一行的相应列数的循环条件
            for(j=x;j>=z;j--){
                printf("%d ",j);
            }
            printf("\n");
        }
    }

     

    在我初次做这题的时候,我使用的是第二种办法。

    当第二次再做题的时候,使用的第一种办法。

    以下是以输出示例为参照,解释-1行的意思。

    (13 12 11 10)     //所说的-1行是这一部分,只作参照但不参与输出
    9 8 7 
    6 5 
    4 

     

     

     

     

    
     
    展开全文
  • 输入一个整数n,输出具有n层的上三角数字三角形。 输入格式: 只有一个整数n,1<=n<=100。 输出格式: 一个上三角数字三角形,每个数字占四个字符位置。 输入样例: 5 输出样例: 1 6 10 13 15 2 7 11 14 3 8 ...

    7-125 又来一个上三角数字三角形 (10分)C语言实现

    输入一个正整数n,输出具有n层的上三角数字三角形。

    输入格式:
    只有一个正整数n,1<=n<=100。

    输出格式:
    一个上三角数字三角形,每个数字占四个字符位置。

    输入样例:
    5
    输出样例:
    1 6 10 13 15
    2 7 11 14
    3 8 12
    4 9
    5
    作者
    翁恺
    单位
    浙江大学
    代码长度限制
    16 KB
    时间限制
    400 ms
    内存限制
    64 MB

    /*通过观察可知每一行的第一位数即为行数,之后依次输出比前一个数多n,n-1...的数,直到差小于行数加一*/
    #include<stdio.h>
    int main()
    {
        int n,i,j,temp;//n为层数,i为控制行的循环变量
        
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            printf("%4d",i);//输出每行的第一个数
            j=n;//j为第一位差
            temp=i;//temp为第一位数
            while(j>=i+1)
            {
                temp=temp+j;//此处每次循环存储此位数
                printf("%4d",temp);//输出
                j--;//差减一
            }
            printf("\n");//每列输出完后输出一个换行符
        }
        
        return 0;
    }
    
    展开全文
  • 问题一: 输入整数n,输出n行字符图案。 问题二: 输入整数n,要求输出如下2*n+1行的菱形图案。(菱形右边不留多余空格) ...输入整数n,输出如下中间数字为n的菱形图案。(菱形右边不留多余空格)

    问题一:
    输入正整数n,输出n行字符图案。
    例如n=5时输出:
    在这里插入图片描述
    分析:
    每行都是5个字符。
    第n行之前,空格逐行减少1,*逐行增加1
    第n行之后,空格逐行增加1,*逐行减少1

    #include <stdio.h>
    
    int main()
    {
    	int n, i, j;
    	
    	scanf("%d", &n);
    	for(i=1; i<=2*n-1; i++)
    	{
    		if(i<=n)
    		{
    			for(j=1; j<=n-i; j++) printf(" ");
    			for( ; j<=n; j++) printf("*");
    			printf("\n");
    		}
    		else
    		{
    			for(j=1; j<=i-n; j++) printf(" ");
    			for( ; j<=n; j++) printf("*");
    			printf("\n");
    		}
    	}
    }
    

    问题二:
    输入正整数n,要求输出如下2*n+1行的菱形图案。(菱形右边不留多余空格)
    例如n=2时输出:
    在这里插入图片描述

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

    问题3:
    输入正整数n,输出如下中间数字为n的菱形图案。(菱形右边不留多余空格)
    例如n=4时输出:
    在这里插入图片描述

    #include <stdio.h>
    
    int main()
    {
    	int n, i, j, k, t, p;
    	
    	scanf("%d", &n);
    	
    	for(i=1, j=n-1; i<=n; i++, j--)
    	{
    		for(k=1; k<=j; k++) printf(" ");
    		for(t=1; t<=i; t++) printf("%d", t);
    		for(t=t-2; t>=1; t--) printf("%d", t);
    		printf("\n");
    	}
    	for(i=n+1, j=1, p=n-1; i<=2*n-1; i++, j++, p--)
    	{
    		for(k=1; k<=j; k++) printf(" ");
    		for(t=1; t<=p; t++) printf("%d", t);
    		for(t=t-2; t>=1; t--) printf("%d", t);
    		printf("\n");
    	}
    }
    
    展开全文
  • 问题分析输入:一个整数,表示杨辉三角形的行数。输出:n行杨辉三角形。仔细观察杨辉三角形可以发现,其数字是有规律的,每行的第一个和最后一个数字都为 1,而且从第 3 行开始,其他位置的数字都是...

    杨辉三角形是一个由数字排列组成的三角形数表。其一般形式如图 1 所示,每行开始和结尾处的数字都为 1,其他数字都是它所在行的上一行中靠近它的两个数之和。

    81ded80c19d5613c0794c526a7691245.gif

    图 1:杨辉三角形

    请编程输出其中的前 n(n≤20)行。

    问题分析

    输入:一个正整数,表示杨辉三角形的行数。

    输出:n行杨辉三角形。

    仔细观察杨辉三角形可以发现,其数字是有规律的,每行的第一个和最后一个数字都为 1,而且从第 3 行开始,其他位置的数字都是它所在行的上一行中靠近它的两个数之和。

    因为数字比较多,而且分布在多行,我们可以用一个二维数组来存储和处理这些数字。如此,则从第 3 行开始,除行首和行尾之外的其他任意数字 t[i][j] 就等于其上一行的数字 t[i-1][j-1] 和 t[i-1][j] 之和,即:

    t[i][j] = t[i-1][j-1] + t[i-1][j]

    第一行和第二行的数字以及其他所有处在行首和行尾的数字都为 1,即:

    t[0][0] = 1 //第一行

    t[1][0] = 1 t[1][1] = 1 //第二行

    t[i][0] = 1 t[i][i] = 1 //其他行首和行尾

    另外,行数增大后,处在行中间位置的数字会大于 int 型的最大取值范围 32767,因此,我们定义二维数组的类型为 long int 型。

    算法描述

    1) 输入欲打印的行数 n;

    2) 初始化第一行的 t[0][0] 和第二行的 t[1][0]、t[1][1];

    3) 循环变量 i(2~n-1)控制处理 3~n 行的数组元素赋值:当前行行首数组元素赋值为1;

    循环变量 j(1~i-1)控制处理当前行中间位置的数组元素赋值:t[i][j]=t[i-1][j-1]+t[i-1][j];当前行行尾数组元素赋值为1;

    4) 循环变量 i(0~n-1)、j(0~i)控制遍历数组并输出杨辉三角形;

    5) 结束。

    代码清单 2:输入 20 行以内的杨辉三角形

    #include

    #include

    int main( )

    {

    int n,i,j;

    printf("输入欲打印的行数n(2

    scanf("%d",&n);

    if(n>20) n=20;

    long t[20][20]={[0][0]=1,[1][0]=1,[1][1]=1};//前2行赋初值

    for(i=2;i

    {

    t[i][0]=1;

    for(j=1;j

    t[i][j]=t[i-1][j-1]+t[i-1][j];

    t[i][i]=1;

    }

    for(i=0;i

    {

    for(j=0;j<=i;j++) //用for循环遍历并打印一行所有数字

    printf("%d ",t[i][j]);

    printf("\n"); //打印完一行后换行

    }

    system("pause");

    return 0;

    }

    运行结果为:

    输入欲打印的行数n(2

    1

    1 1

    1 2 1

    1 3 3 1

    1 4 6 4 1

    1 5 10 10 5 1

    展开全文
  • 头歌c语言实训作业题解

    万次阅读 多人点赞 2021-03-16 13:07:10
    头歌c语言实训作业题解顺序结构程序设计1.加法运算2.不使用第3个变量,实现两个数的对调3.用宏定义常量4.数字分离5.计算总成绩和平均成绩6.求三角形面积7.立体几何计算题8.计算两个整数的最大公约数选择结构程序...
  • C语言 打印杨辉三角

    2021-01-12 21:46:13
    打印杨辉三角 本题要求按照规定格式打印前N行杨辉三角。...输出格式: 以正三角形的格式输出前N行杨辉三角。每个数字占固定6位。 输入样例: 6 输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5
  • 慕课网C语言基础

    2017-11-23 19:44:45
    4使用双重循环实现输出正三角形,效果如下 3 5. 请使用for循环,倒序打印9*9乘法表。 4 6,三目运算 4  static [数据类型] 函数名([参数]) 12  extern [数据类型] 函数名([参数]) 12 16 编程题 12 日间车费为...
  • C语言数组杨辉三角

    2020-04-09 15:15:34
    打印杨辉三角 本题要求按照规定格式打印前N行...以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例: 6 输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 代码: #include <stdio.h&g...
  • c语言字符串习题

    千次阅读 2018-02-26 17:29:29
    输出数字三角形 一个整数有可能可以被表示为 m(m&gt;=2) 个连续整数之和 调整数组使奇数全部都位于偶数前面 杨氏矩阵 判断一个字符串是否为回文字符串 判断一个数是否为回文数 反转字符串 #include...
  • 蛇形矩阵-c语言

    2020-03-30 14:35:48
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角...
  • C语言常用算法

    2012-03-28 10:48:37
    140 递归法绘制三角形图案 141 图形法绘制椭圆 142 抛物样条曲线 143 Mandelbrot分形图案 144 绘制布朗运动曲线 145 艺术清屏 146 矩形区域的颜色填充 147 VGA256色模式编程 148 绘制蓝天图案 149 屏幕检测...
  • C语言】蛇形矩阵

    千次阅读 2020-02-23 09:57:45
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角...
  • c语言第二次实验报告

    2018-01-24 10:48:00
    一·实验题目,设计思路,实现方法 实验题目: 11-5打印杨辉三角(20分) ...以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例: 6 输出样例: 1 1 1 1 2 1 1 ...
  • C语言第二次实验报告

    2018-01-28 20:14:00
    一.实验题目,设计思路,实现方法 第十一次作业(二维数组): 11-5 打印杨辉三角(20 分) ...以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例: 6 输出样例: 1 1 1 1 2 ...
  • 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角...
  • 蛇行矩阵-C语言

    2020-05-12 07:42:00
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入格式: 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出格式: 对于每一组数据,输出一个N行的蛇形矩阵。 两组输出之间不要额外的...
  • C语言实例解析精粹

    2014-03-14 21:57:05
    140 递归法绘制三角形图案 141 图形法绘制椭圆 142 抛物样条曲线 143 Mandelbrot分形图案 144 绘制布朗运动曲线 145 艺术清屏 146 矩形区域的颜色填充 147 VGA256色模式编程 148 绘制蓝天图案 149 屏幕检测...
  • C语言学习实例220例

    2015-06-16 23:47:59
    c语言开发实例目录: 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字...
  • C语言实例解析精粹 PDF

    热门讨论 2010-08-17 00:20:25
    实例140 递归法绘制三角形图案 实例141 图形法绘制椭圆 实例142 抛物样条曲线 实例143 Mandelbrot分形图案 实例144 绘制布朗运动曲线 实例145 艺术清屏 实例146 矩形区域的颜色填充 实例147 VGA256色模式编程 实例...
  • 蛇行矩阵(C语言

    2020-03-06 17:42:26
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角...
  • PTA:打印杨辉三角(C语言

    千次阅读 2020-04-21 21:03:01
    本题要求按照规定格式打印前N行...以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例: 6 #include <stdio.h> int main() { int i, j, n, temp; int a[10][10]; int blank; scanf("%d...
  • C语言经典例题100道

    2011-01-10 13:14:03
    输入3个数字按大小顺序输出 67.输入数组交换元素重新输出 68.多个整数后移位置问题 69.圆圈报数问题 70.计算一个字符串长度 71.编写输入/输出函数 72.创建链表 73.反向输出链表 74.连接两个链表 75.算一道简单题目 ...
  • C语言网的练习题:蛇行矩阵 题目描述: 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。...
  • (13)函数 fun 的功能是:计算整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。 (14)函数 fun 的功能是:用插入排序法将n个字符进行排序(降序)。(提示: ...
  • 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵...
  • 140 递归法绘制三角形图案 141 图形法绘制椭圆 142 抛物样条曲线 143 Mandelbrot分形图案 144 绘制布朗运动曲线 145 艺术清屏 146 矩形区域的颜色填充 147 VGA256色模式编程 148 绘制蓝天图案 149 屏幕检测程序 150 ...
  • C语言网-1097-蛇行矩阵

    2018-11-12 19:31:19
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入 本题有多组数据,每组数据由一个整数N组成。(N不大于100) 输出 对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵...
  • 本题要求按照规定格式打印前N行杨辉三角。 输入格式: ...以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。 输入样例: 6 输出样例: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 ...

空空如也

空空如也

1 2 3
收藏数 60
精华内容 24
关键字:

c语言输出数字正三角形

c语言 订阅