永发信息网

关于C语言.

答案:6  悬赏:20  手机版
解决时间 2021-05-08 19:30
  • 提问者网友:沦陷
  • 2021-05-08 02:53

有哪位高手能给一段C语言写的代码.

题目是这样的,

当N=2时输出:

****

* *

****

当N=3时输出:

******

** **

* *

** **

******

依次类推.

谢谢了,我在线等.

最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-05-08 04:04
经过调试。。这个是可行的。。
#include<stdio.h>
#include<math.h>
void main()
{
int num;
scanf("%d", &num);

int j;
for (j = -(num - 1); j <= num - 1; j++)
{
int i;
int n = abs(j) + 1;
for (i = 0; i < n; i++)
{
printf("*");
}


for (i = 0; i < (num - n) * 2; i++)
{
printf(" ");
}


for (i = 0; i < n; i++)
{
printf("*");
}


printf("\n");
}
}
全部回答
  • 1楼网友:神也偏爱
  • 2021-05-08 08:18

#include "stdio.h"

void temp() { printf("****\n"); printf("* *\n"); printf("****\n");

}

void pemp() { printf("*****\n"); temp(); printf("*****\n");

}

void hemp() { printf("******\n"); pemp(); printf("******\n");

}//可以再增加函数,依次类推 void main() { int n; for(n=1;n<5;n++){ if(n==2) temp(); if(n==3) pemp(); if(n==4) hemp();

printf("\n"); } }

  • 2楼网友:一秋
  • 2021-05-08 06:54

可以说清楚一点嘛

你的这里的N是由键盘输入的嘛

还是说在程序里定义的,如果在程序里定义就比较好写,如果由键盘输入

就要用多个FOR和IF来控制输出,这样才可能出现你要的结果

  • 3楼网友:一秋
  • 2021-05-08 06:35

#include <stdio.h> void main() {

int N; for(N=0;N<5;N++) {

if(N==3) {

printf("****\n"); printf("* *\n"); printf("****\n"); } if(N==3) {

printf("******\n"); printf("** **\n"); printf("* *\n"); printf("** **\n"); printf("******\n");

} continue; }

}

希望对你有所帮助!

  • 4楼网友:行路难
  • 2021-05-08 05:57
你的问题中星的排版不是很清楚,应该是问问的排版的问题吧,但只是看你这样的问题不是很清楚你想要什么样的结果,能把你想要的结果截个图发上来不?
  • 5楼网友:舍身薄凉客
  • 2021-05-08 05:00

switch(N)

{ case 2:printf();break; case 3:printf();break;

......... default:printf();break; }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯