c_打印星型

来源:互联网 发布:淘宝客服回复客人技巧 编辑:程序博客网 时间:2024/05/28 05:18

just play, and further for hanoi

#include "stdio.h"void PrintFloor(int floor){int i,j;for(i = 0; i < floor; i++){for(j = 0; j < floor-1-i; j++){printf(" ");}for(j = 0; j < i*2+1; j++){printf("*");}printf("\n");}}void PrintFloorBetter(int floor){int i,j;for(i = 0; i < floor; i++){for(j = 0; j < floor-1-i; j++){printf(" ");}for(j = 0; j < i+1; j++){printf("* ");}printf("\n");}}void PrintDoubleFloorBetter(int floor, int interval){int i,j;interval += sizeof("* ")*floor;for(i = 0; i < floor; i++){for(j = 0; j < floor-1-i; j++){printf(" ");}for(j = 0; j < i+1; j++){printf("* ");}for(j = 0; j < interval - i*2; j++){printf(" ");}for(j = 0; j < i+1; j++){printf("* ");}printf("\n");}}void PrintTripleFloorBetter(int floor, int interval){int i,j;interval += sizeof("* ")*floor;for(i = 0; i < floor; i++){for(j = 0; j < floor-1-i; j++){printf(" ");}for(j = 0; j < i+1; j++){printf("* ");}for(j = 0; j < interval - i*2; j++){printf(" ");}for(j = 0; j < i+1; j++){printf("* ");}for(j = 0; j < interval - i*2; j++){printf(" ");}for(j = 0; j < i+1; j++){printf("* ");}printf("\n");}}int GetTripleMax(int *a){int i;int iRet = *a;for(i=1; i < 3; i++){if(*(a+i) > iRet)iRet = *(a+i);}return iRet;}void PrintTripleFloorControl(int *floor, int interval){int i,j;int space[2];int top = GetTripleMax(floor+1);interval += sizeof("* ")*floor[1];printf("top:%d\n",top);for(i = 0; i < *floor; i++){if(i < *floor - top){printf("\n");continue;}for(j = 0; j < floor[1]-1-i+(*floor-top); j++){printf(" ");}for(j = 0; j < i+1-(*floor-top); j++){printf("* ");}for(j = 0; j < interval - i*2; j++){printf(" ");}for(j = 0; j < i+1-(*floor-top); j++){printf("* ");}for(j = 0; j < interval - i*2; j++){printf(" ");}for(j = 0; j < i+1-(*floor-top); j++){printf("* ");}printf("\n");}}void PrintFloorTripleControl(int *floor, int interval){int i,j;int space[2];int tmpInterval;int top = GetTripleMax(floor+1);printf("top:%d\n",top);for(i = 0; i < *floor; i++){if(i < *floor - top){printf("\n");continue;}for(j = 0; j < floor[1]-1-i+(floor[0]-floor[1]); j++){printf(" ");}for(j = 0; j < i+1-(floor[0]-floor[1]); j++){printf("* ");}tmpInterval = floor[1] - (i+1-(floor[0]-floor[1]));tmpInterval += floor[2] - (i+1-(floor[0]-floor[2]));tmpInterval += interval;for(j = 0; j < tmpInterval; j++){printf(" ");}for(j = 0; j < i+1-(floor[0]-floor[2]); j++){printf("* ");}tmpInterval = floor[2] - (i+1-(floor[0]-floor[2]));tmpInterval += floor[3] - (i+1-(floor[0]-floor[3]));tmpInterval += interval;for(j = 0; j < tmpInterval; j++){printf(" ");}for(j = 0; j < i+1-(floor[0]-floor[3]); j++){printf("* ");}printf("\n");}}void PrintFloorTripleControlBetter(int *floor, int interval){int i,j;int space[2];int tmpInterval;int top = GetTripleMax(floor+1);printf("top:%d\n",top);for(i = 0; i < *floor; i++){if(i < *floor - top){printf("\n");continue;}for(j = 0; j < floor[1]-1-i+(floor[0]-floor[1]); j++){printf(" ");}for(j = 0; j < i+1-(floor[0]-floor[1]); j++){printf("* ");}tmpInterval = floor[0] - (i+1-(floor[0]-floor[1]));tmpInterval += floor[0] - (i+1-(floor[0]-floor[2]));tmpInterval += interval;for(j = 0; j < tmpInterval; j++){printf(" ");}for(j = 0; j < i+1-(floor[0]-floor[2]); j++){printf("* ");}tmpInterval = floor[0] - (i+1-(floor[0]-floor[2]));tmpInterval += floor[0] - (i+1-(floor[0]-floor[3]));tmpInterval += interval;for(j = 0; j < tmpInterval; j++){printf(" ");}for(j = 0; j < i+1-(floor[0]-floor[3]); j++){printf("* ");}printf("\n");}}int main(void){int i,j;int floor;int control[4];printf("input floors:\n");scanf("%d",&floor);printf("floors %d\n\n",floor);PrintFloor(floor);printf("\n");PrintFloorBetter(floor);printf("\n");PrintDoubleFloorBetter(floor, 5);printf("\n");PrintTripleFloorBetter(floor, 5); printf("\n");control[0] = floor;control[1] = floor-1;control[2] = floor-1;control[3] = floor-1;PrintTripleFloorControl(control,5);printf("\n");#if 1control[1] = floor-1;control[2] = floor-4;control[3] = floor-3;#endif#if 0control[1] = floor-1;control[2] = floor-1;control[3] = floor-1;#endifPrintFloorTripleControlBetter(control,5);return 0;}


原创粉丝点击