猿问

怎么用c编出来



求大佬写一下,,。谢谢

慕侠7494552
浏览 1108回答 2
2回答

ACTeeMo

这个回复框很烂,你复制出去格式化下#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,每次+4int i;for (i = 1; i <= height; i++){// 奇数位符号为|偶数位为*char str = (i % 2 != 0) ? '|' : '*';// 小于中值递增if (i < mid){multiPrintf(height, 2 * i - 1, str);}// 大于中值递减elsemultiPrintf(height, 2 * (height + 1 - i) - 1, str);}}int main(int argc, char const *argv[]){/* code */printPic(21);return 0;}

困难00

这个应该是非常基础的训练printf的题目吧?因为我在这个回答框打代码总是格式很乱,所以我就直接说,如果不明白欢迎继续问。还请见谅。那么就用最简单的方法:最长的一行有9个 | 对吧。那么第一行就相当于printf(" 4个空格+* +\n");以此类推,第二行printf("3个空格+***+\n");就这样类似的排下去就行了。注意---空格要打在printf函数的双引号 "" 内才会被输出,然后一行一行的输出,每次用一个printf。然后换行需要用换行符“\n”,直接回车让printf函数到下一行是不会在输出的内容里换行的。
随时随地看视频慕课网APP
我要回答