为了账号安全,请及时绑定邮箱和手机立即绑定

怎么用c编出来

怎么用c编出来

C
慕侠7494552 2018-05-28 17:13:41
求大佬写一下,,。谢谢
查看完整描述

2 回答

?
ACTeeMo

TA贡献3条经验 获得超3个赞

这个回复框很烂,你复制出去格式化下

#include <stdio.h>


// 多次打印函数,参数:行数, 每一行的字符数量, 字符

void multiPrintf(int height, int times, char str)

{

int i;

// 打印空格

for (i = 0; i < (height - times) / 2; i++)

{

printf("%s", " ");

}

// 打印字符

for (i = 0; i < times; i++)

{

printf("%c", str);

}

printf("\n");

}


int printPic(int height)

{

int mid = (height + 1) / 2;

// 画'|',对应奇数位,到中间值最大,启示数量为1,每次+4

int i;

for (i = 1; i <= height; i++)

{

// 奇数位符号为|偶数位为*

char str = (i % 2 != 0) ? '|' : '*';

// 小于中值递增

if (i < mid)

{

multiPrintf(height, 2 * i - 1, str);

}

// 大于中值递减

else

multiPrintf(height, 2 * (height + 1 - i) - 1, str);

}

}


int main(int argc, char const *argv[])

{

/* code */

printPic(21);

return 0;

}



查看完整回答
2 反对 回复 2018-05-30
?
困难00

TA贡献7条经验 获得超7个赞

这个应该是非常基础的训练printf的题目吧?

因为我在这个回答框打代码总是格式很乱,所以我就直接说,如果不明白欢迎继续问。

还请见谅。


那么就用最简单的方法:

最长的一行有9个 | 对吧。

那么第一行就相当于printf(" 4个空格+* +\n");

以此类推,第二行printf("3个空格+***+\n");

就这样类似的排下去就行了。

注意---空格要打在printf函数的双引号 "" 内才会被输出,然后一行一行的输出,每次用一个printf。

然后换行需要用换行符“\n”,直接回车让printf函数到下一行是不会在输出的内容里换行的。

查看完整回答
2 反对 回复 2018-05-29
  • 2 回答
  • 0 关注
  • 1107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信