C语言打印菱形的两种方法

来源:互联网 发布:java软件工程师学习班 编辑:程序博客网 时间:2024/06/05 01:28
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>//方法一void printstar1(int n){n = n * 2 - 1;int k = n / 2;for (int i = 0; i < n; i++){if (i <= k){for (int j = i; j < k; j++){printf(" ");}for (int j = 0; j <= i * 2; j++){printf("*");}printf("\n");}if (i > k){for (int j = 0; j < i-k; j++){printf(" ");}for (int j = (n-i)*2-1; j > 0; j--){printf("*");}printf("\n");}}return EXIT_SUCCESS;}//方法二//输出格式void print(char ch) {putchar(ch);}//星号void printstar2(int n){int i, j;    //行,列for (i = 0; i<2 * n - 1; i++){for (j = 0; j<2 * n - 1; j++){if (i<n){if (j >= n - i - 1 && j<n + i){print('*');}else{print(' ');}}else{if (j >= i - n + 1 && j<3 * n - i - 2){print('*');}else{print(' ');}}}print('\n');}}void main(){int n;printf("---------开始打印符号---------\n");printf("请输入数字:");scanf("%d", &n);printf("方法一\n");printstar1(n);printf("方法二\n");printstar2(n);system("pause");printf("---------结束打印符号---------\n");}



1 0
原创粉丝点击