PAT1036 跟奥巴马一起编程(C语言的四舍五入方法)

题目链接:PAT1036 跟奥巴马一起编程

解题思路:

  1. 本题非常简单,把第一行和最后一行单独打印,中间循环打印即可;
  2. 本题考点,输出由给定字符 C 画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的 50%(四舍五入取整
  3. 注意行数的求算的四舍五入即可;
  4. 本题对求得浮点数加上0.5,再对数取整,即可获得四舍五入后的值。
#include 
//打印第一行和最后一行的a
void printCh(int n, char ch) {
	int i;
	for (i = 0; i < n; i++) {
		printf("%c", ch);
	}
	printf("\n");
}
//打印中间行的a
void print(int n, char ch) {
	int i;
	printf("%c", ch);
	for (i = 1; i < n - 1; i++) {
		printf(" ");
	}
	printf("%c\n", ch);
}
int main() {
	int n, i, k;
	char ch;
	scanf("%d %c", &n, &ch);
	printCh(n, ch);
	//关键步骤:对输入的数取一半后四舍五入
    k = (int)((n / 2.0) + 0.5);
	for (i = 1; i < k - 1; i ++) {
		print(n, ch);
	}
	printCh(n, ch);
	return 0;
}

你可能感兴趣的:(C语言)