| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:还是没想出来
只看楼主 加入收藏
lianxin19
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2006-7-8
收藏
 问题点数:0 回复次数:9 
还是没想出来

#include<stdio.h>
int a;
void fn()
{
int i,j,k;
for(i=0;i<a;i++)
{
for(j=10;j>=i;j--)
{
printf(" ");
}
for(k=1;k<=2*i+1;k++)
{
if(k%2!=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=0;i<a+2;i++)
{
for(j=9;j>=i;j--)
{
printf(" ");
}
for(k=1;k<=2*i+3;k++)
{
if(k%2!=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=0;i<a+3;i++)
{
for(j=8;j>=i;j--)
{
printf(" ");
}
for(k=1;k<=2*i+5;k++)
{
if(k%2!=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=0;i<a+3;i++)
{
for(j=10;j>=0;j--)
{
printf(" ");
}
for(k=1;k<2;k++)
{
printf("*");
}
printf("\n");
}

}
void person()
{
printf("*****************************打印一个松树***************************\n");
}
void sn()
{
printf("请输入数值:");
while(scanf("%d",&a))
{
if(a>4&&a<8)
fn();
else
printf("输入错误\n");
printf("请输入:");
}
}
void main()
{
person();
sn();
}
有高手能帮我合并FOR循环吗?

2006-07-15 00:49
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-15 07:31
超级新手
Rank: 2
等 级:论坛游民
帖 子:185
专家分:59
注 册:2006-2-9
收藏
得分:0 
画得出图没有

快快来我的群:13485998
学学C,玩玩算法,搞搞加密,比比谁更菜?
ARM恨死你。
2006-07-15 10:59
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用lianxin19在2006-7-15 0:49:50的发言:

#include<stdio.h>
int a;
void fn()
{
int i,j,k;
for(i=0;i<a;i++)
{
for(j=10;j>=i;j--)
{
printf(" ");
}
for(k=1;k<=2*i+1;k++)
{
if(k%2!=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=0;i<a+2;i++)
{
for(j=9;j>=i;j--)
{
printf(" ");
}
for(k=1;k<=2*i+3;k++)
{
if(k%2!=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=0;i<a+3;i++)
{
for(j=8;j>=i;j--)
{
printf(" ");
}
for(k=1;k<=2*i+5;k++)
{
if(k%2!=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
for(i=0;i<a+3;i++)
{
for(j=10;j>=0;j--)
{
printf(" ");
}
for(k=1;k<2;k++)
{
printf("*");
}
printf("\n");
}

}
void person()
{
printf("*****************************打印一个松树***************************\n");
}
void sn()
{
printf("请输入数值:");
while(scanf("%d",&a))
{
if(a>4&&a<8)
fn();
else
printf("输入错误\n");
printf("请输入:");
}
}
void main()
{
person();
sn();
}
有高手能帮我合并FOR循环吗?


改成这样就可以了.
int i,j,k,t;
for(t=1;t<4;t++)
{
if(t==1)a=a-1;
for(i=0;i<a+t;i++)
{
for(j=11-t;j>=i;j--)
{
printf(" ");
}
for(k=1;k<=2*i+2*t-1;k++)
{
if(k%2!=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
if(t==1)a++;
}


倚天照海花无数,流水高山心自知。
2006-07-16 21:12
aiyuheng
Rank: 1
等 级:新手上路
威 望:1
帖 子:656
专家分:0
注 册:2006-1-12
收藏
得分:0 
以下是引用穆扬在2006-7-15 7:31:59的发言:

程序写的太差
基本上没必要再改
建议重写
重写时把全局变量去掉

好严厉的批评,不过很有道理


when i want to ask anyone,i will ask myself first.
2006-07-16 21:14
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 21:47
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

改进缩短了一下,并且稍微修改了一下楼主的程序.
个人建议:)虽然提倡多用函数形式,但小的输入输出应该放在主函数里;尽量不要使用不必要的全局变量;一般找规则的事自己多去摸索.呵呵,自己再去改改吧!
#include<iostream.h>
#include<stdio.h>
#include<iomanip.h>
int a;
void fn()
{
int i,k,t;
for(t=1;t<4;t++)
{ if(t==1)a=a-1;
for(i=0;i<a+t;i++)
{
cout<<setfill(' ')<<setw(13-t-i)<<"*";
for(k=1;k<=2*i+2*t-1;k++)
{
if(k%2==0)
printf("*");
else
printf(" ");
}
printf("\n");
}
if(t==1)a++;
}
for(i=0;i<a+3;i++)
{
cout<<setfill(' ')<<setw(12)<<"*";
printf("\n");
}

}
void person()
{
printf("*****************************打印一个松树***************************\n");
}
void sn()
{
printf("请输入数值:");
while(scanf("%d",&a))
{
if(a==0)
break;
if(a>4&&a<8)
fn();
else
printf("输入错误\n");
printf("请输入:");
}
}
int main()
{
person();
sn();
return(0);
}


倚天照海花无数,流水高山心自知。
2006-07-16 21:47
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-16 21:53
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
可是我按照他的程序输出结果,缩短程序语句
得到结果是一样的啊
是打印一个3层的树行*号。
程序写的的确费解。我也没怎么看,只是合并而已。

倚天照海花无数,流水高山心自知。
2006-07-17 10:55
★红狼
Rank: 2
等 级:论坛游民
帖 子:190
专家分:17
注 册:2006-7-12
收藏
得分:0 
把具体的题目 说下。看下,我编的会不会比你更差
2006-07-17 13:50
快速回复:还是没想出来
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023753 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved