免费试用:最火的人工智能查询工具
     最强AI人工智能聊天工具
     对话机器人解答疑难问题
星外智问直连原始API接口(GPT-4o)
➡️未登录受限条数,请登陆使用完整服务>>>➡️
请输入您要问的问题:


查下百度  查下必应

以下是单个问题的回复:

问:用C语言用*号打印出各种形状的三角形,大小由键盘输入,形状可以选择,正/倒的空心/实心三角形四种 之一。
GPT答: 7i24.cn
以下是一个示例代码,可以实现上述要求:

```c
#include <stdio.h>

int main() {
    int size, shape;
    printf("请输入三角形的大小:");
    scanf("%d", &size);
    printf("请选择三角形的形状:\n");
    printf("1. 正实心三角形\n2. 倒实心三角形\n3. 正空心三角形\n4. 倒空心三角形\n");
    scanf("%d", &shape);

    switch (shape) {
        case 1: // 正实心三角形
            for (int i = 0; i < size; i++) {
                for (int j = 0; j <= i; j++) {
                    printf("* ");
                }
                printf("\n");
            }
            break;
        case 2: // 倒实心三角形
            for (int i = size - 1; i >= 0; i--) {
                for (int j = 0; j <= i; j++) {
                    printf("* ");
                }
                printf("\n");
            }
            break;
        case 3: // 正空心三角形
            for (int i = 0; i < size - 1 ;i++){
              putchar(' ');
          } 
          putchar('*');
          putchar('\n');
          
          int k=2;
          
          while(k<size){
              int m=size-k+1,n=k-2;

              while(m>0){
                  putchar(' ');
                  m--;
              }

              putchar('*');

              while(n>0){
                  putchar(' ');
                  n--;
              }

             putchar('*');
             k++;
             putchar('\n');   
         }

         k=2;

         while(k<size){
             int m=k,n=size-k;

             while(m>0){
                 putchar(' ');
                 m--;
             }

             putchar('*');

             while(n>1){
                 putchar(' ');
                 n--;
            }

            if(k!=size-1) {
                putchar('*');
            }
            
            k++;
            putchar('\n');   
        }
        for(int i=0;i<size;i++){
          printf("* ");
      }
      break;
    case 4: // 倒空心三角形
        for (int i = size - 1; i > 0 ;i--){
          int k=i,m=size-i;

          while(m>0){
              printf(" ");
              m--;
          }

         printf("*");

         while(k>2){
              printf(" ");
              k--;
         } 

         if(i!=1) {
           printf("*");
       } 
       else{
           for(int j=0;j<size-2;j++){
               printf("* ");
           }
       } 
       
       printf("\n");
   }

   for(int i=0;i<size;i++){
      printf("* ");
  }
  
  break;
default:
    break;
}

return 0;
}
```

该代码中使用了 `switch` 来根据用户选择的形状进行不同的处理。其中,正实心三角形和倒实心三角形比较简单,只需要按照规律打印出相应数量的 `*` 就可以了。而正空心三角形和倒空心三角形稍微复杂一些,需要分别考虑每一行打印哪些字符。

注意,在打印正/倒空心三角形时,最后一行需要特殊处理,因为它不需要空心。因此,在打印最后一行时,需要根据形状选择是否打印 `*` 或者 `*` 和空格的组合。

另外,为了使输出更加美观,代码中还使用了一些额外的空格和换行符。
一星  二星  三星  四星  五星 

互联网非法外之地,请不要输入不良内容
 查下百度 查下必应 04-22 14:10:17



chatGPT中国版--星外智问--8v6.CN
当前运行网址:www.8v6.cn
客服微信:xwgdd_com APP下载 怎么问 识别真假GPT4 使用GPT赚钱 退出登陆