我们在学习语言过程中,其实每种语言都有它自身的特点,用C语言可以实现for循环打出一个空心菱形,其实用Python,java,C++,Shell等都可以打印出一个空心菱形。
用Python语言for循环打出一个空心菱形
代码如下:
n=input(‘请输入菱形每边星星个数,n= ‘)
n=int(n)
m=t=2*n-1 #双重赋值
while m=1:
if(m==t or m==1):#打印第一行和最后一行
print(‘ ‘*n + ‘*’ + ‘ ‘*4*(n-1))
elif(m=n):#打印下半部分
print(‘ ‘*(m-n+1)+’*’+’ ‘*(2*(t-m)-1)+’ *’)
else:#打印上半部分
print(‘ ‘*(n-m+1)+’*’+’ ‘*(2*m-3)+’ *’)
m-=1
用c语言for循环打出一个空心菱形
代码如下:
//菱形
#include stdio.h
void main()
{
int i,j;
//菱形的上半部分的三角形
for(i=0;i4;i++)
{
for(j=3;ji;j–)
{
printf(” “);
}
for(j=0;j2*i+1;j++)
{
printf(“*”);
}
printf(“n”);
}
//下半部分的倒三角形
for(i=0;i3;i++)
{
for(j=0;ji+1;j++)
{
printf(” “);
}
for(j=6;j2*i+1;j–)
{
printf(“*”);
}
printf(“n”);
}
printf(“n”);
//空心菱形
//空心菱形的上半部分
for(i=0;i4;i++)
{
for(j=0;j4-i;j++)
{
printf(” “);
}
for(j=0;j2*i+1;j++)
{
//判断在需要打印的地方的第一位和最后一位打印*号,中间位置空格
if((j==0)||(j+1==2*i+1))
{
printf(“*”);
}
else
{
printf(” “);
}
}
printf(“n”);
}
for(i=0;i3;i++)
{
for(j=0;ji+2;j++)
{
printf(” “);
}
for(j=6;j2*i+1;j–)
{
//判断在需要打印的地方的第一位和最后一位打印*号,中间位置空格
if((j==6)||(j-1==2*i+1))
{
printf(“*”);
}
else{
printf(” “);
}
}
printf(“n”);
}
printf(“n”);
//数字的排列
for(i=1;i6;i++)
{
for(j=1;ji+1;j++)
{
printf(“%d”,j);
}
for(j=1;ji;j++)
{
printf(“%d”,i-j);
}
printf(“n”);
}
for(i=5;i1;i–)
{
for(j=1;ji;j++)
{
printf(“%d”,j);
}
for(j=2;ji;j++)
{
printf(“%d”,i-j);
}
printf(“n”);
}
printf(“n”);
}
用Java语言for循环打出一个空心菱形
代码如下:
public static void main(String[] args) {
int line = 99;//打印行数
int blank2 = (line-1)/2;//最大空格数
for(int i=0;iline;i++){
int blank = (blank2-i)0?blank2-i:-(blank2-i);//每次空格数
for(int j=0;jline;j++){
// if(j=blankjline-blank){//打印实心菱形方法
// System.err.print(“*”);
// }else{
// System.err.print(” “);
// }
if(j==blank||j==(line-blank)-1){//打印空心菱形方法
System.err.print(“*”);
}else{
System.err.print(” “);
}
}
System.err.println();
}
}
用C++语言for循环打出一个空心菱形
代码如下:
#include iostream
using namespace std;
int main(int argc, char** argv) {
int n;
cout “input a numer n: “;
cin n;
for (int i = 1; i = n; i++) {
for (int j = n – i – 1; j = 0; j–) {
cout ” “;
}
cout i;
for (int j = 4 * (i – 1) – 2; j = 0; j–) {
cout ” “;
}
if (i == 1) {
cout endl;
} else {
cout i endl;
}
}
for (int i = 1; i n; i++) {
for (int j = 1; j i + 1; j++) {
cout ” “;
}
cout n – i;
for (int j = 4 * (n – i – 1) – 2; j = 0; j–) {
cout ” “;
}
if (i == n – 1) {
cout endl;
} else {
cout n – i endl;
}
}
system(“pause”);
return 0;
}
用Shell语言for循环打出一个空心菱形
代码如下:
#!/bin/bash
read -p “输入菱形半径:” r
for((y=0; y=2*r; y++))
do
for((x=0; x=2*r; x++))
do
#if ((y==-x+r || y==-x+3*r || y==x+r || y==x-r)) 空心
if ((y=-x+r y=-x+3*r y=x+r y=x-r)) #实心
then
echo -n “*”
else
echo -n ” “
fi
done
echo “”
done
代码截图:
运行效果截图:
代码:
void print_polygon(int rows)
{
if (rows % 2 == 0)
rows++;
int dir = 1;
int cx = rows / 2;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < rows; j++) {
int offset = i;
if (i > rows / 2)
offset = rows – i – 1;
if (j == cx – offset || j == cx + offset)
printf(“*”);
else
printf(” “);
}
printf(“n”);
}
}
本文来自投稿,不代表天一生活立场,如若转载,请注明出处:http://tiyigo.com/it/38827.html