```c
#include <stdio.h>
int main() {
int rows = 9
int i, j, k
for (i = 1i <= rowsi++) {
for (j = 1j <= rows - ij++) {
printf(" ")
}
for (k = 1k <= 2 * i - 1k++) {
printf("*")
}
printf("
")
}
for (i = rows - 1i >= 1i--) {
for (j = 1j <= rows - ij++) {
printf(" ")
}
for (k = 1k <= 2 * i - 1k++) {
printf("*")
}
printf("
")
}
return 0
}
```
在上面的代码中,我们首先定义了一个变量 rows,它表示菱形的行数。接着使用了两个 for 循环来产生菱形的上半部分和下半部分。对于每一行,我们使用内层的 for 循环来打印菱形的空格和星号。外层的 for 循环则用于控制总共需要多少行。其中,第一个循环从 1 到 rows,第二个循环从 rows - 1 到 1。这样就可以输出完整的菱形了。
示例输出:
```
*
***
*****
*******
*********
*******
*****
***
*
```
希望这个代码可以帮助你实现你所需的功能
#include <stdio.h>int main()
{
int A=3;
scanf("%d",&A)
int i,j,x,a,b,c,d,e,f,g
for(i=1i<=A+1i++)
{
for(x=Ax>=ix--)
{
printf(" ")
}
for(a=1a<=ia++)
{
printf("*")
}
for(b=0b<=i-2b++)
{
printf("*")
}
for(c=Ac>=ic--)
{
printf(" ")
}
printf("\n");
}
for(j=1j<=Aj++)
{
for(d=1d<=jd++)
{
printf(" ")
}
for(e=Ae>=je--)
{
printf("*")
}
for(f=A-1f>=jf--)
{
printf("*")
}
for(g=0g<=j-1g++)
{
printf(" ")
}
printf("\n")
}
return 0
}
要打出图片题目中所示菱形,只需run下程序,输入3即可(即input A=3)。代码中的那个A可以理解为菱形的横对角线的*的数量减1后的一半。以上代码适合初学者,因为我也是个初学者,对于C语言高手来说,我这个复杂了,我的思路是四个小三角形拼出一个菱形的。。。你run下看可不可以?然后由于这个答案输出框的条件限制,输出的格式,如空格换行等那些会没显示到
思路:
* 第1行 空格数3(4-1) 星星数1(1*2-1)
*** 第2行 空格数2(4-2) 星星数3(2*2-1)
***** 第3行 空格数1(4-3) 星星数5(3*2-1)
******* 第4行 空格数0(4-4) 星星数7(4*2-1)
通过以上思路就可以打印出菱形
代码:
public class Lin {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int i,j,k
for(i=0i<5i++) //控制行
{
for(j=0j<5-ij++) //控制空格
System.out.print(" ")
for(k=0k<2*i-1k++) //控制*号输出
System.out.print("*")
System.out.print("n")
}
for(i=3i>0i--)
{
for(j=0j<5-ij++)
System.out.print(" ")
for(k=0k<2*i-1k++)
System.out.print("*")
System.out.print("n")
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)