这个我以前刚学的时候做的。源码如下:class Rhombus//输出菱形
{
public void Rhombus(int num) //num是菱形的高
{
for(int a=1;a<=num/2;a++)
{
for(int b=1;b<=num/2-a;b++)
{
System.out.print(" ");
}
for(int c=1;c<=2*a-1;c++)
{
System.out.print("*");
}
System.out.println();
}//输出菱形上半部分
for(int x=num/2-1;x>=1;x--)
{
for(int y=1;y<=num/2-x;y++)
{
System.out.print(" ");
}
for(int z=1;z<=2*x-1;z++)
{
System.out.print("*");
}
System.out.println();
}//输出菱形下半部分
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class LingXing {
public static void main(String[] args){
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("请输入一个正整数按回车键:");
String numStr = bf.readLine();
int num = Integer.parseInt(numStr)-1;
for(int i=-num;i<=num;i++){
for(int m=1;m<=Math.abs(i);m++){
System.out.print(" ");
}
for(int n=1;n<=(num*2+1)-2*Math.abs(i);n++){
System.out.print("*");
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e){
System.out.println("请输入整整数!");
}
}
}
//测试结果:
看得出你正在学习程序设计,但是我发现你不喜欢动脑啊,你仔细看看每行有什么特点呢,分别是一三五七五三一把,看出来了吧,其实n=4的话,七=7=2*4-1知道了吧,前四行 一个for循环然后输出*号即可,后面的不用我说了吧
#include
{
int i, j, n, k = 1;
printf( "Input n = " );
scanf( "%d", &n );
for( i = 0; i >= 0; i += k )
{
for ( j = 0; j < 5+n-i; ++j )
putchar( ' ' );
for ( j = 0; j <= 2*i; ++j )
putchar( '*' );
putchar( '\n' );
if( i == n - 1 ) k = -1;
}
}