天天向上的C语言打印菱形程序:

void print(int n){
int m,row,col,i,j,space;
if (n%2==0) n++;
m=n/2+1;
for(row=1;row<=n;row++)
{
if(row<=m) col=2*row-1;
else{
col=2*n+1-row*2;
}
space=(n-col)/2;
for(j=1;j<=space;j++)
{
printf(” “);

}
for(i=1;i<=col;i++)
printf(“*”);
printf(“\n”);
}
}

int _tmain(int argc, _TCHAR* argv[])
{

int n;
scanf(“%d”,&n);
print(n);

scanf(“%d”,&n);

}

 

C语言的运行截图:

c

Ps:搞了好久发现是一个大括号的位置没对,所以一直没出来,半天我也没有看出来

以下是Php版好好学习的php语言打印菱形程序

ps:承认发现我们的程序基本是一样的,思路都是一样的

<?php
$n=8;
if ($n%2==0)
$n++;
$middle = intval ( ($n+1)/2);    //4 取整
$middleNum= $n-1;      //7
$starNum=0;

for($row = 1;$row<=$n;$row++){    //1-4行
//这一行的之前的空格
if($row<=$middle){
$starNum= 2*$row-1;
}else{
$starNum= $n-2*($row-$middle);
}

$SpaceNum= ($n-$starNum)/2;
for ($j=1;$j<=$SpaceNum ;$j++)
{
echo “&nbsp;”;  //空格是utf-8编码的
}
for ($j2=1;$j2<=$starNum;$j2++)
{
echo “*”;
}
//这 一行的*
//这一行之 后的空格
echo “</br>”;
}

?>

运行截图:

php

附上网络上那些人的源码吧,以下这些来自于http://zhouwenjun.iteye.com/blog/663105

  1. //这是做简单的,不考虑任何算法,傻X
  2. #include <stdio.h>
  3. int main()
  4. {
  5. printf(”   *\n ***\n *****\n*******\n *****\n ***\n   *\n”);
  6. }
  7. 最简短的程序估计就是这个了
  8. //C版本的:
  9. #include <stdio.h>
  10. int main()
  11. {
  12. int i = 0;
  13. for (; i < 9; i ++)
  14.         {
  15.             printf(“%*s\n”,((i < 5) ? (i + 5) : (13 – i)),”*********” + ((i < 5) ? (8 – 2*i) : (2*i – 8)));
  16.         }
  17. return 0;
  18. }
  19. //C++版本的:
  20. #include <iostream>
  21. using namespace std;
  22. int main()
  23. {
  24. for (int i = 0; i < 9; i ++)
  25.      {
  26.       cout << ”    ” + ((i < 5) ? i : (8 – i))<< “*********” + ((i < 5) ? (8 – 2*i) : (2*i – 8)) << endl;
  27.         }
  28. return 0;
  29. }
  30. //双重嵌套再循环
  31. #include <stdio.h>
  32. #include <math.h>
  33. void main()
  34. {
  35. int n,i,j;
  36.     printf(“n=”);
  37.     scanf(“%d”,&n);
  38. for(i=0;i<(n*2+1);i++)
  39.     {
  40. for(j=0;j<fabs(i-n);j++) printf(” “);
  41. for(j=0;j<(2*(n-fabs(i-n))+1);j++) printf(“*”);
  42.         printf(“\n”);
  43.     }
  44. }
  45. //再来,统一求和判断,不分上下
  46. #include<stdio.h>
  47. void main()
  48. {
  49. int i,j,n;
  50.     printf(“n=?\n”);
  51.     scanf(“%d”,&n);
  52. for(i=0; i<2*n+1; i++)
  53.     {
  54. for(j=0; j<2*n+1; j++)
  55.         {
  56. if( i+j>=n && i+j<=3*n && i-j>=-n && i-j<=n ) printf(“*”);
  57. else printf(” “);
  58.         }
  59.         printf(“\n”);
  60.     }
  61. }
  62. //正负判断方法
  63. #include<stdio.h>
  64. #include<math.h>
  65. #define N 5
  66. void main()
  67. {
  68. int i,j;
  69. for(i=-N;i<=N;i++)
  70.     {
  71. for(j=-N;j<=N;j++)
  72.         {
  73. if(abs(i)+abs(j)<=N)
  74.                 printf(“*”);
  75. else
  76.                 printf(” “);
  77.         }
  78.         printf(“\n”);
  79.      }
  80.    getchar();
  81. }

Ps:发现大脑越来越笨了,不过写程序查错也有着简单的快乐..以后有程序再发给我看吧.:)