码迷,mamicode.com
首页 > 其他好文 > 详细

(c语法百题38)星罗密布

时间:2014-08-25 08:42:13      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   ar   div   log   amp   

知识点:

for语句,if语句的灵活运用。

思考算法。

此题可以用二维数组做

优势是巧妙的衔接了*和$

 

 

内容:

输出图形

*****$

***$$$

*$$$$$

 

规律是...自己发现吧。

要求输入3,输出上面三行的图形

 

输入说明:

行数小于40

输出说明:

 

输入样例:

3

输出样例 :

*****$

***$$$

*$$$$$

 

法一:

#include <stdio.h>
int main()
{
 int n,a,b,y=1,x,i;
 scanf("%d",&n);
 x=n;                     //预控制行数,方便以后递减
 for (i=0;i<n;i++)        //控制行数,一行换行
 {
  for (a=0;a<2*x-1;a++)   //for输出*
  {
   printf("*");
  }
  for(b=0;b<y;b++)        //第一行有一个$
  {
   printf("$");
  }
  y+=2;                   //递增一行,有y+2个$
  x-=1;                   //函数递减,控制*的数,对应上面的“for输出*”
  printf("\n");
  if(n==0)break;          //当零行时,终止for循环,程序结束
 }
 return 0;
}


法二:

 #include <stdio.h>
int main()
{
 char a[100][1000];
 int i,n,m,y;
 scanf("%d",&n);
 y=n;
 for (i=0;i<n;i++)
 {
  for (m=0;m<2*y-1;m++)
  {
   a[i][m]=*;
   printf("%c",a[i][m]);
  }
  for (;m<2*n;m++)          //衔接上面m,直到2*n
  {
   a[i][m]=$;
   printf("%c",a[i][m]);
  }
  y-=1;
  if (y==0)break;
  printf("\n"); 
 }
 printf("\n");
 return 0;
}

 

(c语法百题38)星罗密布

标签:style   blog   color   io   for   ar   div   log   amp   

原文地址:http://www.cnblogs.com/hlwyfeng/p/3934188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!