算法笔记-codeup-3.3-图形输出

这一个专题比较简单:直接上代码,不会的请留言。
图形方法的输出只要把握一点:for外循环是行,内循环控制是列
在这里插入图片描述
注意这是多点测试。输入的时候需要注意:

#include<iostream>
using namespace std;
int main()
{
    int h;
    while(scanf("%d",&h)!=EOF)  {
        for(int i=1;i<=h;i++)
        {
            for(int j=1;j<=2*h-2*i;j++)
                cout<<' ';
            for(int k=1;k<=h+2*i-2;k++)
                cout<<'*';
            cout<<endl;
        }
    }
    return 0;
}

问题B:
在这里插入图片描述
在这里插入图片描述
代码如下:
留空

在这里插入代码片

题目C:在这里插入图片描述

#include <iostream>
using namespace std;
int main()
{
	int m,h;
	cin>>m;
	for(int i=0;i<m;i++)
	{
		cin>>h;
		for(int j=0;j<h;j++)
		{
			for(int k=0;k<h-1-j;k++)
				cout<<" ";
			for(int k=0;k<h+2*j;k++)
				cout<<"*";
			for(int k=0;k<h-1-j;k++)
				cout<<" ";
			cout<<endl;
		}
	}
	return 0; 
}

问题D:
在这里插入图片描述
还是需要注意多点测试的问题:

#include <iostream>
using namespace std;
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)                
    {
        for(int i=n;i>1;i--)            
        {
            int k;
            for(k=0;k<n-i;k++)
                cout<<" ";
            for(int j=i;j>0;j--)
            {
                cout<<"*";
                if(j!=1)cout<<" ";
            }
            if(i!=1) cout<<endl;
        }
        for(int i=n;i>0;i--)
        {
            for(int k=0;k<i-1;k++)
	            cout<<" ";
            for(int j=0;j<n-i+1;j++)
            {
                cout<<"*";
                if(j!=n-i) cout<<" ";
            }
            cout<<endl;
        }
    }
}

这一题和打印菱形算是打印图形里比较好的题目了。处理的细节比较多
另外补充一题不是codeup和PAT的题目吧。其实输入的逻辑还是要注意的。
在这里插入图片描述
带入如下:因为要使用的是纯C语言:代码如下:

在这里插入代码片

猜你喜欢

转载自blog.csdn.net/weixin_44110100/article/details/105812891