c语言输出一个菱形
发布网友
发布时间:2022-04-29 03:34
我来回答
共5个回答
热心网友
时间:2023-10-09 09:49
用得着6个FOR循环码?
//打印棱形字母
//注意abs(i)+abs(j)<=k
//用数学的角度分析(假设k为2)
//|x|+|y|<=k
//y<= 2 - x
//y<= x + 2
//y>= -x - 2
//y>= x - 2
#include <stdio.h>
#include <math.h>
int main(void)
{
int i,j,k;
char ch;
printf("请输入一个代写字母:");
scanf("%c",&ch);
k=ch-'A';
for(i=-k;i<=k;i++)
{
for(j=-k;j<=k;j++)
printf(abs(i)+abs(j)<=k ? "*" : " ");
printf("\n");
}
return 0;
}
不懂追问我
学过数学,自己画个图你就明白了
热心网友
时间:2023-10-09 09:49
// 程序大体上都差不多,我这是在VC上运行过的,TC上应该也没问题,有错的话欢迎留言指教
#include <stdio.h>
int main()
{
char c;
int n=0,i,j,k;
printf("Please input a letter:");
scanf("%c",&c);
if(c<'A'||c>'Z')
{
printf("Error Input!\n");
return 0;
}
n=c-'A'+1;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k<2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
for(i=n-2;i>=0;i--)
{
for(j=0;j<n-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k<2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
}
热心网友
时间:2023-10-09 09:50
# include <stdio.h>
void main()
{
int i, j, k;
/* 变量i从0到3,表示所画菱形图的第一至第四行 */
for(i = 0; i <= 3; i++)
{
/* 当行数为i时,空格数是i的函数,为2-i个 */
for(j = 0; j <= 2-i; j++)
printf(" ");
/* 字母数也是i的函数,为2i+1个 */
for(k = 0; k <= 2*i; k++)
putchar('A'+i); /* 输出字母 */
printf("\n");
}
/* 变量i从0到2,表示所画菱形图的第五至第七行 */
for(i = 0; i <= 2; i++)
{
/* 当行数为i时,空格数是i的函数,此时为i个 */
for(j = 0; j <= i; j++)
printf(" ");
/* 字母数也是i的函数,此时为4-2*i个 */
for(k = 0; k <= 4-2*i; k++)
putchar('C'-i); /* 输出字母 */
printf("\n");
}
}
热心网友
时间:2023-10-09 09:50
可能讲得不是很清楚,有问题再问
热心网友
时间:2023-10-09 09:51
#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<=i;k++)
{
if(k==1)
printf("*");
else
printf(" *");
}
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(k=1;k<=4-i;k++)
{
if(k==1)
printf("*");
else
printf(" *");
}
printf("\n");
}
}
c语言编写,完全可以运行,有问题可以hi我。
热心网友
时间:2023-10-09 09:49
用得着6个FOR循环码?
//打印棱形字母
//注意abs(i)+abs(j)<=k
//用数学的角度分析(假设k为2)
//|x|+|y|<=k
//y<= 2 - x
//y<= x + 2
//y>= -x - 2
//y>= x - 2
#include <stdio.h>
#include <math.h>
int main(void)
{
int i,j,k;
char ch;
printf("请输入一个代写字母:");
scanf("%c",&ch);
k=ch-'A';
for(i=-k;i<=k;i++)
{
for(j=-k;j<=k;j++)
printf(abs(i)+abs(j)<=k ? "*" : " ");
printf("\n");
}
return 0;
}
不懂追问我
学过数学,自己画个图你就明白了
热心网友
时间:2023-10-09 09:49
// 程序大体上都差不多,我这是在VC上运行过的,TC上应该也没问题,有错的话欢迎留言指教
#include <stdio.h>
int main()
{
char c;
int n=0,i,j,k;
printf("Please input a letter:");
scanf("%c",&c);
if(c<'A'||c>'Z')
{
printf("Error Input!\n");
return 0;
}
n=c-'A'+1;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k<2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
for(i=n-2;i>=0;i--)
{
for(j=0;j<n-i-1;j++)/* 输出每行的空格*/
printf(" ");
for(k=0;k<2*i+1;k++)
printf("%c",(char)('A'+i));
printf("\n");
}
}
热心网友
时间:2023-10-09 09:50
# include <stdio.h>
void main()
{
int i, j, k;
/* 变量i从0到3,表示所画菱形图的第一至第四行 */
for(i = 0; i <= 3; i++)
{
/* 当行数为i时,空格数是i的函数,为2-i个 */
for(j = 0; j <= 2-i; j++)
printf(" ");
/* 字母数也是i的函数,为2i+1个 */
for(k = 0; k <= 2*i; k++)
putchar('A'+i); /* 输出字母 */
printf("\n");
}
/* 变量i从0到2,表示所画菱形图的第五至第七行 */
for(i = 0; i <= 2; i++)
{
/* 当行数为i时,空格数是i的函数,此时为i个 */
for(j = 0; j <= i; j++)
printf(" ");
/* 字母数也是i的函数,此时为4-2*i个 */
for(k = 0; k <= 4-2*i; k++)
putchar('C'-i); /* 输出字母 */
printf("\n");
}
}
热心网友
时间:2023-10-09 09:50
可能讲得不是很清楚,有问题再问
热心网友
时间:2023-10-09 09:51
#include<stdio.h>
void main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<=i;k++)
{
if(k==1)
printf("*");
else
printf(" *");
}
printf("\n");
}
for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(k=1;k<=4-i;k++)
{
if(k==1)
printf("*");
else
printf(" *");
}
printf("\n");
}
}
c语言编写,完全可以运行,有问题可以hi我。