C语言实现打印各种菱形

#include 
#include 

int inputInt(){
 int r;
 printf("请输入菱形半径:");
 scanf("%d",&r);
 return r;
}
void diamond_1(int r){
 printf("打印菱形边框\n");
 int x,y;
 for(y=0;y<=2*r;y++){
  for(x=0;x<=2*r;x++){
   if(y==x+r||y==x-r||y==-x+r||y==-x+3*r)//菱形边框
    printf("*");
   else printf(" ");
  }
  printf("\n");
 }
 printf("\n");
}
void diamond_2(int r){
 printf("打印实心菱形\n");
 int x,y;
 for(y=0;y<=2*r;y++){
  for(x=0;x<=2*r;x++){
   if((y<=x+r)&&(y>=x-r)&&(y>=-x+r)&&(y<=-x+3*r))//实心菱形
    printf("*");
   else printf(" ");
  }
  printf("\n");
 }
 printf("\n");
}
void diamond_3(int r){
 printf("打印空心菱形\n");
 int x,y;
 for(y=0;y<=2*r;y++){
  for(x=0;x<=2*r;x++){
   if((y>=x+r)||(y<=x-r)||(y<=-x+r)||(y>=-x+3*r))//空心菱形
    printf("*");
   else printf(" ");
  }
  printf("\n");
 }
 printf("\n");
}
int main(int argc,char* argv[])
{
 printf("打印菱形命令提示:执行文件名 -a(边框)/-b(实心)/-c(空心)\n");
 int d=inputInt();
 if(argc != 2){
  printf("命令有误,请输入命令选项!\n");
  return 1;
 }
 if(strcmp(argv[1],"-a")==0) diamond_1(d);
 else if(strcmp(argv[1],"-b")==0) diamond_2(d);
 else if(strcmp(argv[1],"-c")==0) diamond_3(d);
 else return 1;

}               //请各位大虾指教!

你可能感兴趣的:(C/C++,Linux,语言,c,include)