瑞星卡卡安全论坛技术交流区系统软件 有1道C语言的编程题不会

1234   3  /  4  页   跳转

有1道C语言的编程题不会

我们考试的时候也考过这道题
方法很多
不过我是循环做的
gototop
 

print(int n)
{
//n = 2k+1 或者n = 2k (k非负整数)
for(int i =1,i<(n+1);i++)//控制输出的行数
{
if(i < (n+3)/2) //n=2k时,i最大为k,n=2k+1时,n最大为k+1
{
for(int j=0;j<(2i-1);j++)//j为第i行的"*"树木
cout<<"*";
}
else
for(int j=0;j<2(n-i)+1);j++)
cout<<"*";
cout<<endl;
}
}
gototop
 

【回复“ipot”的帖子】
大哥,你这个程序有太多的错。不要误导新手~~
gototop
 

自学的不懂啊...
gototop
 

引用:
【ipot的贴子】print(int n)
{
//n = 2k+1 或者n = 2k (k非负整数)
for(int i =1,i<(n+1);i++)//控制输出的行数
{
if(i < (n+3)/2) //n=2k时,i最大为k,n=2k+1时,n最大为k+1
{
for(int j=0;j<(2i-1);j++)//j为第i行的"*"树木
cout<<"*";
}
else
for(int j=0;j<2(n-i)+1);j++)
cout<<"*";
cout<<endl;
}
}
………………

改错,呼呼
int ii,nn=11;(nn是随便赋奇数值的)
for(ii =1;ii<=nn;ii++)//控制输出的行数
{
if(ii<=(nn+1)/2) //n=2k时,i最大为k,n=2k+1时,n最大为k+1
    {
        for(int jj=1;jj<=(2*ii-1);jj++)//j为第i行的"*"树木
            {cout<<"*";}
            cout<<endl;
    }
else
    {
        for(int jj=1;jj<=(2*(nn-ii)+1);jj++)
            {cout<<"*";}
            cout<<endl;
    }
}
gototop
 

偶也想知道正确答案啊..C新手...一起努力,共同进步
gototop
 

居然C++的都出来了。那我就来个JAVA的。哈哈。我还是不知道算法你们是怎么得出来的。有什么好的方法能最快速的得到方法说下么


for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= i * 2 - 1; j++) {
                System.out.print("*");
            }
            System.out.print("\n");
        }
        for (int i = 4; i <= 5; i++) {
            for (int j = 1; j <= (6 - i) * 2 - 1; j++) {
                System.out.print("*");
            }
            System.out.print("\n");
        }
gototop
 

这个我会,学了一点点,HAHA
gototop
 

就不应该告诉他.
让他自己动动脑子!
gototop
 

兄弟们!

不要打击新人么~    给出各自的代码不就完了么
gototop
 
1234   3  /  4  页   跳转
页面顶部
Powered by Discuz!NT