分享

图形

 印度阿三17 2019-10-25
1.从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
#include<stdio.h>
int main()
{
    int n;
    int i;
    int c;
    int temp;
    scanf("%d",&n);
    for(i = 1; i <= n; i  )
    {
        for(temp = i; temp < n; temp  )
        {
            printf(" ");
        }
        for(c = 1; c <= i; c  )
        {
            printf("*");
 
        }
        for(c = i-1; c > 0; c--)
 
        {
            printf("*");
        }
        printf("\n");
    }
    for(i = n-1; i > 0; i--)
    {
         for(temp = i; temp < n; temp  )
        {
            printf(" ");
        }
        for(c = 1; c <= i; c  )
        {
            printf("*");
 
        }
        for(c = i-1; c > 0; c--)
 
        {
            printf("*");
        }
        printf("\n");
 
    }
    return 0;
}
2.输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。 

Input
输入只有一个正整数n。

Output
打印金字塔图形,其中每个数字之间有一个空格。

Example Input
3

Example Output
    1
  1 2 1
1 2 3 2 1
#include<stdio.h>
int main()
{
    int n;
    int i;
    int c;
    int temp;
    scanf("%d",&n);
    for(i = 1; i <= n; i  )
    {
        for(temp = i; temp < n; temp  )
        {
            printf("  ");
        }
        for(c = 1; c <= i; c  )
        {
            if(i == 1)
            {
                printf("%d",c);
            }
            else
                printf("%d ",c);
        }
        for(c = i - 1; c > 0; c--)
 
        {
            if(c == 1)
            {
                printf("%d",c);
            }
            else
                printf("%d ",c);
        }
        printf("\n");
    }
    return 0;
}
3.输入

正整数n(1≤n≤9)。

输出

指定数字图形。

样例输入


5

样例输出


    1
   121
  12321
 1234321
123454321
 1234321
  12321
   121
    1
#include<stdio.h>
int main()
{
    int i,j,n,p,q,a;
    scanf("%d",&n);
 a=0;
 a=a*a;
    for(i=1; i<=n; i  )
    {
        for(j=1; j<=n-i; j  )
            printf(" ");
        for(p=1; p<=i; p  )
            printf("%d",p);
        for(q=i-1; q>0; q--)
            printf("%d",q);
        printf("\n");
    }
    for(i=1; i<=n-1; i  )
    {
        for(j=1; j<=i; j  )
            printf(" ");
        for(p=1; p<=n-i; p  )
            printf("%d",p);
        for(q=n-i-1; q>0; q--)
            printf("%d",q);
        printf("\n");
    }
    return 0;
}
4.输入一个正整数n(1 < =n <= 10),再输入n*n的矩阵,要求求该矩阵的下三角元素之和。
输入
输入包括n 1行 
第一行为整数:n 
接下来的n行为矩阵数据
输出
矩阵的下三角元素之和

样例输入


5
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
样例输出
75
#include <stdio.h> 
#include <stdlib.h>??? 
int main() 
{ 
 int n,i,j,sum=0; 
 scanf("%d",&n); //输入数组大小 
 int a[n 1][n 1]; //定义数组 
 for(i=1;i<=n;i  ) 
 for(j=1;j<=n;j  ) 
 scanf("%d",&a[i][j]);//循环输入数组 
 for(i=1;i<=n;i  ) 
 for(j=1;j<=i;j  ) 
sum =a[i][j]; //循环将矩阵下三角元素相加 
 printf("%d",sum);//输出结果 
 return 0; 
}
5.Description
   *
  ***
 *****
******* 
 *****
  ***
   *
上面的菱形漂亮吗? 
现给出菱形的高度,要求你打印出相应高度的菱形,比如上面的菱形高度为7(如果格式错乱,请复制到记事本查看或参考示例输出) 。


Input
测试数据包括多行,每行1个整数h,h为奇数,代表菱形的高度。 
输入以0结束。


Output
输出每组对应的菱形。


Sample Input

 1
7
0
#include<stdio.h>
 int main(){
  int n,m,i,j,k;
  while(EOF!=scanf("%d",&n)){
   m = (n 1)/2;
   for(i=1;i<=m;i  ){
    for(k=1;k<=m-i;k  ){
     printf(" "); 
    }
    for(j=0;j<(2*i-1);j  ){
     
     printf("*");
    }
    printf("\n");
   } 
   for(i=m-1;i>0;i--){
    for(k=1;k<=m-i;k  ){
     printf(" "); 
    }
    for(j=1;j<=(2*i-1);j  ){
     printf("*");
    }
    printf("\n");
   } 
  }
  return 0;
 } 
6.描述


把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果

输入


每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。

输出


每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。

样例输入


X 2
A 7
@


样例输出


 X
XXX

      A
     A A
    A   A
   A     A
  A       A
 A         A
AAAAAAAAAAAAA


题目来源
#include<stdio.h>
#include<string.h>
int main()
{
	char a;
	int b,i,j,k=0;
	while((a=getchar())!='@')//可换为:while(scanf("%c",&a)&&a!='@')
	{
		  k;
		getchar();//这一句的作用是读取空格! 
		scanf("%d",&b);
		getchar();//记住这一句不能省,否则会在第二次输入时a直接变成\n(换行符)! 
		if(k!=1)//这个格式很重要,这是在第一个结果的后面先不输出空行,
		  printf("\n");//只有在判断过第二个结果满足条件后,才输出空行,
		            //此空行依然在第二个结果之前,满足两个空三角形之间有空行的条件!  
		for(i=1;i<b;i  )
		{
			for(j=1;j<=b (i-1);j  ) 
			 {
			 	if(j==b-(i-1)||j==b (i-1))
			 	   printf("%c",a);
			 	else 
			 	   printf(" ");
			 } 
		    printf("\n");
		}		
		for(i=0;i<2*b-1;i  )
		  printf("%c",a);
		printf("\n");
	}
	return 0;
}
6.描述

1 
1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1 
上面的图形熟悉吗?它就是我们中学时候学过的杨辉三角。

输入

输入数据包含多组测试数据。 
每组测试数据的输入只有一个正整数n(1≤n≤30),表示将要输出的杨辉三角的层数。 
输入以0结束

输出

对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

样例输入


2
3
0

样例输出


1
1 1

1
1 1
1 2 1
#include<stdio.h>
int a[31][31];
int main() 
{
	int i,j;
	for(i=1;i<=30;  i)
	{
		a[i][1]=1;
		for(j=2;j<=i;  j)
		{
			a[i][j]=a[i-1][j-1] a[i-1][j];
		}
	}
	int n;
	while(~scanf("%d",&n))
	{
	  for(i=1;i<=n;  i)
	  {
	  	printf("%d",a[i][1]);
	  	for(j=2;j<=i;  j)
	  	printf(" %d",a[i][j]);
	  	printf("\n");
	  }
	  printf("\n");
	}
	return 0;
}
7.描述

输入直角三角形的直角边长度(两个直角边相同),打印输出该图形。如输入5,输出下列图形:
*
**
***
****
*****

输入

输入数据第一行为n,表示一共有n组数据输入,后面有n行,每行表示直角边长度(两个直角边相同)。

输出

以*字符来打印输出直角三角形图形。

样例输入


3
1
2
3

样例输出


*
*
**
*
**
***

题目来源
#include<stdio.h>  
int main()  
{
 int i,j,k,m,n; 
 scanf("%d",&i);
 for(j=0;j<i;j  )
 {
  scanf("%d",&k);
  for(m=1;m<=k;m  )
  {
   for(n=1;n<=m;n  )
   {
    printf("*");
   }
   printf("\n");
  }
 }
 return 0;
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多