飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4661|回复: 6

[C/C++] 显示菱形的代码--学习代码纪念贴

[复制链接]

该用户从未签到

发表于 2010-11-13 12:44:05 | 显示全部楼层 |阅读模式
本帖最后由 popo2008 于 2010-11-16 12:38 编辑

一楼是C语言二楼是c++,逻辑是一样的~~c++可以反复输入   c语言本身制作了,结果超过三次就会不能用,不知道是不是系统的原因~~哈哈~~先把代码写下来/:018
  1. #include <stdio.h>
  2. #include <math.h>
  3. void ShowRectangle(int n)
  4. {
  5.         int i,j,m;
  6.         m = n>>1;
  7.         printf("这是PYG_POPO2008的作品\n");
  8.         for (i = m;i >= -m;i--)
  9.         {
  10.                 printf("    ");
  11.                 for (j = m;j>= -m;j--)
  12.                 {
  13.                         if (i>0?(i == m-abs(j)):(i == -m+abs(j)))
  14.                         {
  15.                                 printf("*");
  16.                         }
  17.                         else
  18.                         {
  19.                                 printf(" ");
  20.                         }
  21.                 }
  22.                 printf("\n");
  23.         }
  24. }
  25. int main(int argc, char *argv[])
  26. {
  27.         char a;
  28.         int n;
  29.         do
  30.         {
  31.                 printf("输入一个奇数:");
  32.                 scanf("%d",&n);
  33.                 if ( n%2 == 0)
  34.                 {
  35.                         printf("你输入错误!如果继续请输入(y)");
  36.                 }
  37.                 else
  38.                 {
  39.                         ShowRectangle(n);
  40.                         printf("如果继续请输入(y)");
  41.                 }
  42.                 scanf("%s",&a);
  43.         } while (a == 'y' || a == 'Y');

  44.         return 0;
  45. }
复制代码
VC6编译成功   Tc也编译成功  但是TC 不支持中文所以下面图片有乱码;
c.jpg
QQ截图未命名.jpg
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2010-11-13 12:44:39 | 显示全部楼层
本帖最后由 popo2008 于 2010-11-16 12:36 编辑

但是有些BUG没解决


这是简单的C++版本
  1. #include <iostream>
  2. #include <cmath>
  3. #include <stdlib.h>
  4. using namespace std;

  5. void ShowRectangle(int n)
  6. {
  7.         int i,j,m;
  8.         m = n>>1;
  9.         for (i = m;i >= -m;i--)
  10.         {
  11.                 printf("    ");
  12.                 for (j = m;j>= -m;j--)
  13.                 {
  14.                         if (i>0?(i == m-abs(j)):(i == -m+abs(j)))
  15.                         {
  16.                                 printf("*");
  17.                         }
  18.                         else
  19.                         {
  20.                                 printf(" ");
  21.                         }
  22.                 }
  23.                 printf("\n");
  24.         }
  25. }
  26. int main(int argc, char *argv[])
  27. {
  28.         char a;
  29.         int n,ntem;
  30.         do
  31.         {
  32.                 system("cls");
  33.                      printf("这是PYG_POPO2008的作品\n");
  34.                 //printf("输入菱形的层数(奇数):");
  35.                 cout << "输入菱形的周长:";
  36.                 cin >> ntem;
  37.                 n =  ntem /4 +1;
  38.                 if ( n%2 == 0)
  39.                 {
  40.                         ShowRectangle(n);
  41.                         cout << "如果继续请输入(y)";
  42.                 }
  43.                 else
  44.                 {
  45.                         printf("你输入错误!如果继续请输入(y)");
  46.                 }               
  47.                       cin >> a;
  48.         } while (a == 'y' || a == 'Y');

  49.         return 0;
  50. }
复制代码
main.rar (8.9 KB, 下载次数: 0)
未命名.JPG
PYG19周年生日快乐!

该用户从未签到

发表于 2010-11-15 11:59:07 | 显示全部楼层
学习了,楼主很厉害哦!
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2010-11-16 12:19:12 | 显示全部楼层
本帖最后由 popo2008 于 2010-11-16 12:38 编辑

9*9乘法表
  1. #include <stdio.h>
  2. int main(int argc, char *argv[])
  3. {
  4.         printf("Study By PYG_POPO2008\n");
  5.         for(int i = 1;i<=9 ; i++)
  6.         {
  7.                 for(int j = 1; j <= i; j++)
  8.                 {
  9.                         int h = j*i;
  10.                         printf("%d*%d=%d ",j,i,h);
  11.                 }
  12.                 printf("\n");
  13.         }
  14.         getchar();
  15.         return 0;
  16. }
复制代码
99.rar (5.76 KB, 下载次数: 0)
未命名.JPG
PYG19周年生日快乐!

该用户从未签到

发表于 2010-11-16 21:51:41 | 显示全部楼层
让我想起大学时期老师让用C语言编写在屏幕上显示个菱形图案,我直接用几个printf打出* 排出了个菱形..没有条件判断,没有循环。老师说他对我很无语.
PYG19周年生日快乐!
  • TA的每日心情
    开心
    3 天前
  • 签到天数: 89 天

    [LV.6]常住居民II

    发表于 2018-1-25 11:56:23 | 显示全部楼层
    i没有注释看不懂
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-1-25 12:46
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2018-12-15 10:55:33 | 显示全部楼层
    学习了,找个还是挺不错得
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表