点赞(0)
 

0.0分

18 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 18 条评论

Azure9102 3年前 回复TA
#include <stdio.h>

int main(void)
{
	int n;
	scanf_s("%d", &n);
	int i , j ,nt = n;
	int dia = 0,tail = 0,head=1;
	for (i = 1; i <= n; i++)
	{
		for (j = 1 ;j <= nt; j++)
		{
			if (j != 1)
			{

				printf("%d", tail + i + j - 1);
				tail = tail + i + j - 1;
			}
			else
			{
				printf("%d", head + i-1);
				tail = head + i-1;
				
			}
			if (dia < nt)
			{
				printf(" ");
			}
			if (j == 1)
			{
				head = tail;
			}
		}
		nt--;
		printf("\n");
	}
	return 0;
}
致知于行 3年前 回复TA
@wzx #include <stdio.h>  int main() { 	int i, j, t = 0, n; 	int a[100][100], k = 1;  	while ( scanf("%d", &n) != EOF) {  		for (i = 0; i < n; i++) { 			for (j = 0; j <= i; j++, k++) 				a[i - j][j] = k; 		} 		for (i = 0; i <= n; i++, t++) { 			for (j = 0; j < n - t; j++) { 				printf("%d ", a[i][j]); 				if (i + j == n - 1) 					printf("
"); 			} 		} 	} }
致知于行 3年前 回复TA
@wzx 但是,想问下,题目要求是多组数据输入输出,如果加上while,但不能运行呢
致知于行 3年前 回复TA
@wzx 这样写多好,大写的赞
uq_52514251541 3年前 回复TA
@uq_52514251541 受到启发,用一下递归
uq_52514251541 3年前 回复TA
#include<stdio.h>
int fun1(int i)
{
    if (1 == i)
        return 1;
    else if (i > 1)
        return fun1(i - 1) + i - 1;
}
int fun(int i, int j)
{
    
    if (1 == j)
    {
        return(fun1(i));
    }
    else if (j > 1)
    {
        return fun(i,j - 1) + i + j - 1;
    }
}

int main(void)
{
    int i, j, n;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j <= n - i + 1; j++)
        {
            printf("%d""%c", fun(i, j),32);       
        }
        printf("\n");
    }
	return 0;
wzx 3年前 回复TA
改了楼上的
#include <stdio.h>
int main()
{
	int i,j,k,n,t;
    t=0;
	int a[100][100];
	scanf("%d",&n);
	for(i=0,k=1;i<n;i++)
	{
		for(j=0;j<=i;j++,k++)
		a[i-j][j]=k;		
	}
	for(i=0;i<n;i++,t++)
	{
		for(j=0;j<n-t;j++)
		{
			printf("%d ",a[i][j]);
			if(i+j==n-1)
			printf("\n");
		}
	}
}
或者明天 3年前 回复TA
#include<stdio.h>
int main()
{
	int n,j,i,k=1,t=0;
	int a[100][100];
	scanf("%d",&n);
	for(j=1;j<=n;j++)
	{
		for(i=0;i<j;i++)
		{
			a[j-1-i][i]=k;
			k++;
		}
	}
	for(i=0;i<n;i++,t++)
	{
		for(j=0;j<n-t;j++)
		{
			printf("%d ",a[i][j]);
			if(i+j==n-1)
				printf("\n");
		}
	}
	return 0;
}