显示菱形的代码--学习代码纪念贴
本帖最后由 popo2008 于 2010-11-16 12:38 编辑一楼是C语言二楼是c++,逻辑是一样的~~c++可以反复输入 c语言本身制作了,结果超过三次就会不能用,不知道是不是系统的原因~~哈哈~~先把代码写下来/:018#include <stdio.h>
#include <math.h>
void ShowRectangle(int n)
{
int i,j,m;
m = n>>1;
printf("这是PYG_POPO2008的作品\n");
for (i = m;i >= -m;i--)
{
printf(" ");
for (j = m;j>= -m;j--)
{
if (i>0?(i == m-abs(j)):(i == -m+abs(j)))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
int main(int argc, char *argv[])
{
char a;
int n;
do
{
printf("输入一个奇数:");
scanf("%d",&n);
if ( n%2 == 0)
{
printf("你输入错误!如果继续请输入(y)");
}
else
{
ShowRectangle(n);
printf("如果继续请输入(y)");
}
scanf("%s",&a);
} while (a == 'y' || a == 'Y');
return 0;
}VC6编译成功 Tc也编译成功但是TC 不支持中文所以下面图片有乱码;
本帖最后由 popo2008 于 2010-11-16 12:36 编辑
但是有些BUG没解决
这是简单的C++版本#include <iostream>
#include <cmath>
#include <stdlib.h>
using namespace std;
void ShowRectangle(int n)
{
int i,j,m;
m = n>>1;
for (i = m;i >= -m;i--)
{
printf(" ");
for (j = m;j>= -m;j--)
{
if (i>0?(i == m-abs(j)):(i == -m+abs(j)))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
int main(int argc, char *argv[])
{
char a;
int n,ntem;
do
{
system("cls");
printf("这是PYG_POPO2008的作品\n");
//printf("输入菱形的层数(奇数):");
cout << "输入菱形的周长:";
cin >> ntem;
n =ntem /4 +1;
if ( n%2 == 0)
{
ShowRectangle(n);
cout << "如果继续请输入(y)";
}
else
{
printf("你输入错误!如果继续请输入(y)");
}
cin >> a;
} while (a == 'y' || a == 'Y');
return 0;
}
学习了,楼主很厉害哦! 本帖最后由 popo2008 于 2010-11-16 12:38 编辑
9*9乘法表#include <stdio.h>
int main(int argc, char *argv[])
{
printf("Study By PYG_POPO2008\n");
for(int i = 1;i<=9 ; i++)
{
for(int j = 1; j <= i; j++)
{
int h = j*i;
printf("%d*%d=%d ",j,i,h);
}
printf("\n");
}
getchar();
return 0;
}
让我想起大学时期老师让用C语言编写在屏幕上显示个菱形图案,我直接用几个printf打出* 排出了个菱形..没有条件判断,没有循环。老师说他对我很无语. i没有注释看不懂 学习了,找个还是挺不错得
页:
[1]