面试题-一个for循环输出一个棱形
2014-05-03 22:03
232 查看
用一个for循环输出以下棱形
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
int func( int n)
//输出菱形星形
{
char ch='*';
char str=' ';
int N=2*n-1;
int MAX=N*N-1;
int m;
--n;
for(int i=0;i<=MAX;i++)
{
m=n-i/N;
if(m<0)m=-m;
if(i%N==N-1)
{
if(i/N==n)cout<<ch;
cout<<endl;
}
else
{
if((i%N)>=m&&(i%N)<=(2*n-m)&&(i%N%2!=i/N%2)) cout<<ch;
else cout<<str;
}
}
return 0;
}(王朝网络 wangchao.net.cn)
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
int func( int n)
//输出菱形星形
{
char ch='*';
char str=' ';
int N=2*n-1;
int MAX=N*N-1;
int m;
--n;
for(int i=0;i<=MAX;i++)
{
m=n-i/N;
if(m<0)m=-m;
if(i%N==N-1)
{
if(i/N==n)cout<<ch;
cout<<endl;
}
else
{
if((i%N)>=m&&(i%N)<=(2*n-m)&&(i%N%2!=i/N%2)) cout<<ch;
else cout<<str;
}
}
return 0;
}(王朝网络 wangchao.net.cn)
相关文章推荐
- 面试题-一个for循环输出一个棱形
- 面试题-一个for循环输出一个棱形
- 简化以下程序,将函数对象 divide_by 转换为一个函数,并将 for 循环替换为用一个标准的 C++ 算法来输出数据
- 编写程序,用一个 for 循环计算1+3+5+7 + ……+99的值,并输出计算结果。
- 如何使用一个for循环输出九九乘法表
- java用一个for循环输出99乘法表
- 一个for循环输出九九乘法口诀表
- 把一个十进制整数以二进制数形式输出,for循环实现
- 只用一个for循环输出九九乘法表
- 一个for循环输出二维数组
- 例题:把一个超市购物的题做成函数。这个题做成函数没有必要,但可以了解输入参数,输出参数,返回值,函数体,还有结构体,ArryList集合,for循环算结果,以及集合里 .count的使用
- C语言[面试题]输入一个字节内的数(0~255)和移动位数。输出移位结果(要求循环移位)提示:系统自带的移位都是非循环的
- for循环控制"*"输出一个菱形
- 使用FOR循环语句在屏幕上输出一个由星号组成的直角三角形
- 关于java一个for循环输出九九乘法表
- 用for循环打印输出数据三角形图形
- 练习2-2 在不使用运算符&&或者||的条件下编写一个与上面的for循环语句等价的循环语句。
- 转 C#多线程及控制线程数量,对for循环输出效率
- for循环输出<九九乘法表>
- 面试题,将数字依次按三角形输出,每行一个数字