C++ 第一行输出一个* 第二行输出三个 如图: * *** ***** *******
#include"iostream.h"intmain(){intj,i;for(i=1;i<=5;i++){for(j=1;j<=5-i;j++)cout<<"";fo...
#include "iostream.h"
int main(){
int j,i;
for(i=1; i<=5; i++)
{
for(j=1; j<=5-i; j++)
cout <<" ";
for(j=1;j<=2*i-1;j++)
cout<<'*';
cout<<endl;
}
}
1.这里面的 i 和 j 分别是指什么 ?
2.为什么会第一行会在中间位置出现一个* 是怎么实现的 ?
3.为什么会自动换行输出* ?
4.j<=5-i 和 j<=2*i-1 分别代表什么?
暂时就这些问题吧 谢了 新手。 展开
int main(){
int j,i;
for(i=1; i<=5; i++)
{
for(j=1; j<=5-i; j++)
cout <<" ";
for(j=1;j<=2*i-1;j++)
cout<<'*';
cout<<endl;
}
}
1.这里面的 i 和 j 分别是指什么 ?
2.为什么会第一行会在中间位置出现一个* 是怎么实现的 ?
3.为什么会自动换行输出* ?
4.j<=5-i 和 j<=2*i-1 分别代表什么?
暂时就这些问题吧 谢了 新手。 展开
3个回答
展开全部
第一个for循环是控制行数的,i就是当前行数
第二个for循环是控制,呃,你可以理解成横坐标啦,j就是这个意思!
第三个for循环还是控制横坐标的……
第一行中间出现一个“*”,第一行,输出“*”的个数是2*1-1=1啊,这
为什么会换行呢,因为每一行输出后都有cout<<endl;啊,对于每个i都会执行一次cout<<endl;,就是每行结束都会换行啊
j<5-i就是计算每行前面应该打几个空格,j<=2*i-1就是应该打几个"*";例如第一行,输出5-1=4个空格,再输出2*1-1=1个"*"
不懂继续问!
第二个for循环是控制,呃,你可以理解成横坐标啦,j就是这个意思!
第三个for循环还是控制横坐标的……
第一行中间出现一个“*”,第一行,输出“*”的个数是2*1-1=1啊,这
为什么会换行呢,因为每一行输出后都有cout<<endl;啊,对于每个i都会执行一次cout<<endl;,就是每行结束都会换行啊
j<5-i就是计算每行前面应该打几个空格,j<=2*i-1就是应该打几个"*";例如第一行,输出5-1=4个空格,再输出2*1-1=1个"*"
不懂继续问!
更多追问追答
追问
为什么j既可以控制是第几个位置 又能控制有几个* 这不是没有定义吗 还有i 为什么就知道他是行数啊。。 有点绕不过来
追答
呃,貌似我这样解释让你理解错了啊,那你就把j仅理解成控制一行输出的空格及“*”的位数好了,j只是为了通过j<=5-i 和 j<=2*i-1来控制每行的输出
展开全部
1. i是行号,j是列号
2. 第一行i==1,开始j从1开始到5-1=4,输出4个空格,然后j又从1开始到2*1-1==1,输出1个‘*',即在第一行第五列输出一个星号,这个星号的位置就在中间
3. 每输出一行结束,都会执行cout<<endl;这个就是换行了
4. 5-i是每行最前面输出空格的个数,2*i-1是每行输出星号的个数,这个你如果难理解,你可以把i的值从1到5逐个代入计算一下,看是不是符合输出要求
2. 第一行i==1,开始j从1开始到5-1=4,输出4个空格,然后j又从1开始到2*1-1==1,输出1个‘*',即在第一行第五列输出一个星号,这个星号的位置就在中间
3. 每输出一行结束,都会执行cout<<endl;这个就是换行了
4. 5-i是每行最前面输出空格的个数,2*i-1是每行输出星号的个数,这个你如果难理解,你可以把i的值从1到5逐个代入计算一下,看是不是符合输出要求
更多追问追答
追问
为什么j既可以控制是第几个位置 又能控制有几个* i又表示行数 这不是没有定义吗
追答
因为星号的个数和位置跟行数就是符合这么一个算法:
最大行数为5行的前提下,每行星号前空格数是5减去行数,每行星号数是两倍的行数减去1。
算法就是这样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{
int j,i,n;
cin>>n;
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
cout<<" ";
}
for(j=1;j<=2*i-1;j++)
{
cout<<'*';
}
cout<<endl;
}
}
1~3 c++必要,还有这个也可以
#include<bits/stdc++.h> //万能头
using namespace std;
int main()
5~6 设置变量及输入
7~18 循环及将“*”和“ ”输出和分行
我这个比你好,可以输入行数,你那个只能输5行。你把你代码换成我这个,保你考试加20分,考试结束后老师还表扬你。。。。。。
输入1
5
输入2
12
输出1
*
***
*****
*******
*********
输出2
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*********************
***********************
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询