一个才C/C++的编程问题,请求高手帮助!Help!

batisu 2009-03-19 09:59:25
写一段程序,输入一个奇数(如5),输出一个菱形的“*”字符串。要求精简,易读,主体代码只能用一个循环;比如输入数字5后输出以下形式:

*
***
*****
***
*
...全文
171 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf0403 2009-03-20
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20060829/02/4982341.html
蜥蜴枪王 2009-03-20
  • 打赏
  • 举报
回复
其实我想问问9L memset这个函数是什么意思得,呵呵,它的原型是什么?o(∩_∩)o...
lzy340623339 2009-03-19
  • 打赏
  • 举报
回复
在看贴,竟然发现我老大粗的毛病又发了,竟没看清题目,不好意思啦
yangch_nhcmo 2009-03-19
  • 打赏
  • 举报
回复
那个if判断语句可以不要,简化一下

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSTAR 100


int main()
{
char output[MAXSTAR] ;
int i;
scanf("%d",&i);
int k;
int starnum;

for (k = -(i-1)/2 ; k <= i/2; k++ )
{
starnum = i-abs(k)*2;

memset(&output,0,MAXSTAR);

memset(&output, ' ', abs(k));
memset(&output[abs(k)],'*',starnum);


printf("%s\n",output);
}

return 0;
}

yangch_nhcmo 2009-03-19
  • 打赏
  • 举报
回复
晕倒,贴上去会变形,楼主看一下是不是这种效果
xufei3085 2009-03-19
  • 打赏
  • 举报
回复
应该用for语句吧?个人认为,其实跟输出金字塔类似……
yangch_nhcmo 2009-03-19
  • 打赏
  • 举报
回复
*
***
*****
*******
*****
***
*

//下面的代码是用来输出上面的图形的
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSTAR 100


int main()
{
char output[MAXSTAR] ;
int i;
scanf("%d",&i);
int k;
int starnum;

for (k = -(i-1)/2 ; k <= i/2; k++ )
{
starnum = i-abs(k)*2;

memset(&output,0,MAXSTAR);
if (k != 0)
{
memset(&output, ' ', abs(k));
memset(&output[abs(k)],'*',starnum);
}
else
{
memset(&output,'*',starnum);
}
printf("%s\n",output);
}

return 0;
}


yangch_nhcmo 2009-03-19
  • 打赏
  • 举报
回复
楼主你把上面的图形整理一下,是不是这样子
输入5时
*
***
*****
***
*

输入7时
*
***
*****
*******
*****
***
*
lzy340623339 2009-03-19
  • 打赏
  • 举报
回复
这个是百度来的,呵呵,不过感觉不是很好,效率低
#include <stdio.h> 
main()
{

int i,j;

for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++) printf(" ");
for(j=1;j<=i*2-1;j++) printf("&");
printf("\n");
}

for(i=3;i>=1;i--)
{
for(j=1;j<=4-i;j++) printf(" ");
for(j=1;j<=i*2-1;j++) printf("&");
printf("\n");
}

}
qwert_y 2009-03-19
  • 打赏
  • 举报
回复
用for循环,在for的判断语句里使用“?:”语句.......
帅得不敢出门 2009-03-19
  • 打赏
  • 举报
回复
“主体代码只能用一个循环”

用递归?
飘过 楼下高手来

  • 打赏
  • 举报
回复
mark先

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧