为了账号安全,请及时绑定邮箱和手机立即绑定

for循环问题

for循环问题

C
慕的地3769781 2016-10-30 12:04:11
怎么用for循环打出     *   ***  ***** ****************
查看完整描述

3 回答

已采纳
?
MinRam

TA贡献87条经验 获得超24个赞

首先 观察图像,可得

  1. 可将整个图分为若行 

  2. 每行分成  空格(星星前面的) 和星星

  3. 共有n行

  4. 第i行的空格(星星前的)的数量为n-i-1个 (i=0,1,2,3,4)

  5. .每i行的星星数量为2i+1 (i=0,1,2,3,4)

  6. 运行结果和代码示例

  7. //img1.sycdn.imooc.com//58163aa400013b8a03770125.jpg

//c language 

#include<stdio.h>  //预处理头文件

void PrintStar(int n){
    for(int i=0;i<n;i++) 
    {
        // 一行一行打印星星
    
        //打印一行中的空格(星星前的)
        for(int j=0;j<n-i-1;j++)  
            printf(" ");    
            
        //打印一行中的星星    
        for(int j=0;j<2*i+1;j++)   
            printf("*"); 
            
        //打印回车,跳转下一行    
        printf("\n");            
    }
}

int main(void){
    int num;     //存储星星的行数
    
    scanf("%d",&num);  //进行输入,也可以直接赋值   num=5;
    PrintStar(num);   
    
    return 0;
}
查看完整回答
反对 回复 2016-10-31
?
慕的地3769781

TA贡献2条经验 获得超4个赞

#include <stdio.h>

int main()

{

int i,j,k,l;

for(i=1;i<5;i++)

{

for(j=0;j<i*-1+5;j++)

{

printf(" ");

   }

   for(k=0;k<2*i-1;k++)

{

printf("*"); 

printf("\n");

}

return 0; 

 } 


查看完整回答
2 反对 回复 2016-10-30
?
4955562999

TA贡献2条经验 获得超2个赞

for i in range(1,6):

for j in range(5-i):

print j*'',

print (2*i-1)*'*'


查看完整回答
反对 回复 2016-10-30
  • 3 回答
  • 0 关注
  • 1526 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信