回 帖 发 新 帖 刷新版面

主题:新手求助

9.编程序打印出下列图案:
平行四边形        等腰三解形      菱形
  ******          *                *
   ******          ***                ***
  ******          *****              *****
 ******          *******              ***
******          *********              *

回复列表 (共21个回复)

11 楼

哦,我说我怎么打不出空格呢,谢谢

12 楼

我说我怎么打不出空格呢,谢谢

13 楼

三角形的
var
 a,n,i:integer;
 begin
   write('please input n:');
   read(n);
   for i:=0 to n
   do
     begin
       write(' ':n-i+1);
       for a:=1 to i*2-1
       do
         write('*');
         writeln
     end; 
end.
n是三角形的行数 其中write(' ':n-i+1);可以用for语句代替

14 楼

菱形的 
var
  k,a,n,i:integer;
 begin
   write('please input n:');
   read(n);
   k:=0;
   for i:=1 to (n+1)div 2
   do
     begin
       write(' ':(n+1)div 2-i+1);
       for a:=1 to i*2-1
       do
         write('*');
         writeln;
     end;
  for i:=(n+1)div 2-1 downto 1
  do
    begin
      inc(k);
      write(' ':k+1);
      for a:=i*2-1 downto 1do write('*');
      writeln;
    end;
end.
平行四边形得太简单了 不多写了

15 楼


菱形的 
var
  k,a,n,i:integer;
 begin
   write('please input n:');
   read(n);
   k:=0;
   for i:=1 to (n+1)div 2
   do
     begin
       write(' ':(n+1)div 2-i+1);
       for a:=1 to i*2-1
       do
         write('*');
         writeln;
     end;
  for i:=(n+1)div 2-1 downto 1
  do
    begin
      inc(k);
      write(' ':k+1);
      for a:=i*2-1 downto 1do write('*');
      writeln;
    end;
end. 
要加分呦!

16 楼

#include <stdio.h>
void menu(){
    printf("1、打印平行四边形\n");
    printf("2、打印等腰三解形\n");
    printf("3、打印菱形\n");
    printf("4、退出\n");
}
void px(){//打印平行四边形
    int i,j;
    for(i=1;i<=5;i++){
        for(j=5-i;j>=1;j--)
            printf(" ");
        printf("******\n");
    }
}
void dy(){//打印等腰三解形
    int i,j,r;
    for(i=1;i<=5;i++){
        for(j=5-i;j>=1;j--)printf(" ");
        for(r=1;r<=2*i-1;r++)printf("*");
        printf("\n");
    }
}
void lx(){//打印菱形
    int i,j,r,m,n,b;
    for(i=1;i<=3;i++){
        for(j=3-i;j>=1;j--)printf(" ");
        for(r=1;r<=2*i-1;r++)printf("*");
        printf("\n");
    }
    for(m=2;m>=1;m--){
        for(n=2-m;n>=0;n--)printf(" ");
        for(b=1;b<=2*m-1;b++)printf("*");
        printf("\n");
    }
}
void main(){
    int i,j=1;
    while(j){
        menu();
        printf("请输入1至4作选择!");
        scanf("%d",&i);
        switch(i){
            case 1:px();break;
            case 2:dy();break;
            case 3:lx();break;
            case 4:j=0;break;
            default:printf("输入错误,请作出正确的选择!\n");
        }
    }
          
}
    
    

17 楼

#include <stdio.h>
void menu(){
    printf("1、打印平行四边形\n");
    printf("2、打印等腰三解形\n");
    printf("3、打印菱形\n");
    printf("4、退出\n");
}
void px(){//打印平行四边形
    int i,j;
    for(i=1;i<=5;i++){
        for(j=5-i;j>=1;j--)
            printf(" ");
        printf("******\n");
    }
}
void dy(){//打印等腰三解形
    int i,j,r;
    for(i=1;i<=5;i++){
        for(j=5-i;j>=1;j--)printf(" ");
        for(r=1;r<=2*i-1;r++)printf("*");
        printf("\n");
    }
}
void lx(){//打印菱形
    int i,j,r,m,n,b;
    for(i=1;i<=3;i++){
        for(j=3-i;j>=1;j--)printf(" ");
        for(r=1;r<=2*i-1;r++)printf("*");
        printf("\n");
    }
    for(m=2;m>=1;m--){
        for(n=2-m;n>=0;n--)printf(" ");
        for(b=1;b<=2*m-1;b++)printf("*");
        printf("\n");
    }
}
void main(){
    int i,j=1;
    while(j){
        menu();
        printf("请输入1至4作选择!");
        scanf("%d",&i);
        switch(i){
            case 1:px();break;
            case 2:dy();break;
            case 3:lx();break;
            case 4:j=0;break;
            default:printf("输入错误,请作出正确的选择!\n");
        }
    }
          
}
    
    

18 楼

直接打印
1
begin
  writeln('    ******');
  writeln('   ****** ');
  writeln('  ******  ');
  writeln(' ******   ');
  writeln('******    ');
end.
2
begin
  writeln('    *     ');
  writeln('   ***    ');
  writeln('  *****   ');
  writeln(' *******  ');
  writeln('********* ');
end.
3
begin
  writeln('  *  ');
  writeln(' *** ');
  writeln('*****');
  writeln(' *** ');
  writeln('  *  ');
end.

19 楼


对,H就是场宽

20 楼

var
  h,k:integer;
  str:string;
begin
  for h:=5 downto 1 do
    begin
      for k:=1 to 5+h do
      begin
        if(k<h) then write(' ')
        else write('*');
      end;
      writeln;
    end;

    read(str);
第一小题

我来回复

您尚未登录,请登录后再回复。点此登录或注册