PTA 7-20打印菱形图案

7-20 打印菱形图案

分数 5

全屏浏览

切换布局

作者 C课程组

单位 浙江大学

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。

输入格式:

输入在一行中给出一个正的奇数n。

输出格式:

输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。

输入样例:

7

输出样例:

      * 
    * * * 
  * * * * * 
* * * * * * * 
  * * * * * 
    * * * 
      * 
#include<stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	int i, j,k;
	for (i = 1; i <= n / 2; i++) {//打印上半三角
		for (j = 1; j <= n - 2 * i; j++) {
			printf(" ");
			
		}
		for(j = n - 2 * i + 1;j<=n+2*i-2;j++){
			if (j % 2 == 1) {
				printf("*");
			}
			else {
				printf(" ");
			}
		}
		printf(" \n");
	}
	for (k = 1; k <= 2 * n; k++) {//打印最长的一行
		if (k % 2 == 1) {
			printf("*");
		}
		else {
			printf(" ");
		}
	}
	printf("\n");//注意换行
	for (i = 1; i <= n / 2; i++) {//打印下半三角
		for (j = 1; j <= 2 * i; j++) {
			printf(" ");
		}
		for (j = 2 * i; j < 2 * n - 2 * i; j++) {
			if (j % 2 == 0) {
				printf("*");
			}
			else {
				printf(" ");
			}
		}
		printf("\n");
	}
	return 0;
}

关于 PTA 题库中的 **7-20 趣味游戏**,虽然未直接提及该具体题目在洛谷或其他平台上的对应关系[^1],但可以推测此题可能涉及基础算法或逻辑设计的内容。以下是基于常见编程练习题目的分析与解答。 --- ### 7-20 趣味游戏 #### 题目描述 假设某趣味游戏中有若干玩家参与,每位玩家需输入自己的得分情况。程序应统计并输出最高分以及对应的玩家编号。如果存在多个相同最高分,则按输入顺序优先输出第一个达到最高分的玩家。 #### 输入格式 第一整数 `n` (1 ≤ n ≤ 100),表示玩家数量; 第二为 `n` 个正整数,分别代表各玩家的分数。 #### 输出格式 两- 第一为最高分; - 第二为获得最高分的玩家编号(从 1 开始计数)。 #### 示例 ```plaintext 输入: 5 89 76 92 81 92 输出: 92 3 ``` --- #### 解决方案 通过遍历数组的方式找到最大值及其索引位置即可完成任务。以下是 C++ 实现代码: ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; // 输入玩家人数 int maxScore = -1, playerIndex = -1; for(int i = 1; i <= n; ++i){ int score; cin >> score; // 输入当前玩家分数 if(score > maxScore){ // 更新最大值及对应玩家编号 maxScore = score; playerIndex = i; } } cout << maxScore << endl; // 输出最高分 cout << playerIndex << endl; // 输出对应玩家编号 return 0; } ``` 上述代码实现了基本功能,包括读取数据、比较大小以及最终结果输出--- ### 注意事项 对于初学者而言,在处理此类问题时需要注意边界条件,比如当只有一个玩家或者所有玩家得分为零的情况下的表现是否符合预期。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值