1. 如何用c语言打印空心菱形(要求for循环)
题目错了吧,如果你输入偶数就不会有◇啊,只有这个题目
由键盘输入正数n,要求输出2*n+1行的菱形图案,要求菱形左边紧靠屏幕左边
#include "stdio.h"
main()
{ int i,j;
int n;
scanf("%d",&n);
for(i=0;i<=n+1;i++)
{ for(j=n-i;j>=0;j--)
printf(" ");
for(j=0;j<i;j++)
printf("* ");
printf("\n"); }
for(i=0;i<n;i++)
{ for(j=0;j<i+1;j++)
printf(" ");
for(j=n-i;j>0;j--)
printf("* ");
printf("\n"); }
getch();
}
2. c语言输出菱形
工具/材料
ubuntu+vim+gcc
- 01
首先,输入预处理指令#include <stdio.h>与函数原型void print(int n)。
其中,n表示行数。 - 02
然后,对输入的n进行提前判断,若小于0或为偶数,则结束打印。
- 03
接着对上半个菱形进行输出(包括最长的行)。使用两层循环进行输出,分别控制行数与行内的位置。
- 04
接着对下半个菱形进行输出(包括最长的行)。也使用两层循环进行输出,分别控制行数与行内的位置。
- 05
对n=5与n=7进行输出测试,代码如下。
- 06
编译运行后的结果如下
- 07
以下是所有的代码:
#include <stdio.h>
void print(int n)
{
//判断n是否符合正奇数的要求
if(n < 0 || n % 2 == 0)
//不符合则直接退出
return;
//对上半个菱形输出
int i = 1,j = 1;
//i控制行数
for(i = 1; i <= (n + 1) / 2; i++)
{
//j控制每一行的位置
//输出空格
for(j = 1; j <= (n+1)/2 - i; j++)
printf(" ");
//输出*
for(j = 1; j <= 2 * i - 1; j++)
printf("*");
//输出换行
printf(" ");
}
//输出下一半
//i控制行数
for(i = 1; i <= n/2; i++)
{
//j控制每一行的位置
//输出空格
for(j = 1; j <= i; j++)
printf(" ");
//输出*
for(j = 1; j <= n -2 * i; j++)
printf("*");
//输出换行
printf(" ");
}
}
//测试函数,测试n=5和n=7
int main()
{
printf("5 ");
print(5);
printf("7 ");
print(7);
return 0;
}
3. 用c语言中的for循环输出菱形
#include <stdio.h>
int main()
{
int A=3;
scanf("%d",&A);
int i,j,x,a,b,c,d,e,f,g;
for(i=1;i<=A+1;i++)
{
for(x=A;x>=i;x--)
{
printf(" ");
}
for(a=1;a<=i;a++)
{
printf("*");
}
for(b=0;b<=i-2;b++)
{
printf("*");
}
for(c=A;c>=i;c--)
{
printf(" ");
}
printf("\n");
}
for(j=1;j<=A;j++)
{
for(d=1;d<=j;d++)
{
printf(" ");
}
for(e=A;e>=j;e--)
{
printf("*");
}
for(f=A-1;f>=j;f--)
{
printf("*");
}
for(g=0;g<=j-1;g++)
{
printf(" ");
}
printf("\n");
}
return 0;
}
要打出图片题目中所示菱形,只需run下程序,输入3即可(即input A=3)。代码中的那个A可以理解为菱形的横对角线的*的数量减1后的一半。以上代码适合初学者,因为我也是个初学者,对于C语言高手来说,我这个复杂了,我的思路是四个小三角形拼出一个菱形的。。。你run下看可不可以?然后由于这个答案输出框的条件限制,输出的格式,如空格换行等那些会没显示到
4. 用c语言编写一段程序,输出菱形图案
main()
{
inti,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf("");
for(k=0;k<=2*i;k++)
printf("*");
printf(" ");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf("");
for(k=0;k<=4-2*i;k++)
printf("*");
printf(" ");
}
}
5. 如何用c语言编写程序,打印一个空心菱形,用循环写
#include <stdio.h>
int main(void){
int i,j,k;
//上半空心菱形
for(i=1;i<=10;i++){ //控制行数 10行
for(k=10;k>i;k--){ //第一行 9空格1* i=2 8空格 2*
printf(" ");
}
//当i=1时 由第25行代码输出*
if(i == 1){}
else{
printf(" *");
}
//空心空格个数打印 0 2 4 6 16个
for(j=1;j<2*i-2;j++){
printf(" ");
}
printf(" *");
printf("
");
}
//下空心菱形
for(i=1;i<=9;i++){ //去掉最长行 只有9行
//空格增多 1 2 3...9
for(k=1;k<=i;k++){
printf(" ");
}
//最后一行*号由代码43行执行
if(i == 9){}
else{
printf(" *");
}
//空心空格个数打印 15 13 ....1 注意空格是15开始 1结束
for(j=1;j<=17-2*i;j++){ //i=9时候 打印0个空格
printf(" ");
}
printf(" *"); //打印每行后出现的*
printf("
");//换行
}
}
6. 用c语言for循环打印空心菱形有什么思路
先打上正三角形,后打下倒三角形,倒三角形少一行最长行。
每一行无论打多少符号,都只打第一个和最后一个,中间全用空格代替。
变成代码如下,注意看注释。
#include"stdio.h"
#defineN7
intmain(void){
inti,j,t;
for(i=1;i<=N;i++){//上三角形行循环
for(j=0;j<39-i;printf(""),j++);//把光标右移到该行第一个符号的列
t=(i<<1)-1;//算出最后一个符号的列t
for(j=1;j<=t;j++)//当前行的打印循环
printf("%c",(j==1||j==t?'*':''));//由j==1||j==t判断该打'*'还是''
printf(" ");//打完一行要回车
}
for(i=N-1;i>0;i--){//下三角形少一行最长的,所以i从N-1开始到1
for(j=0;j<39-i;printf(""),j++);
t=(i<<1)-1;
for(j=1;j<=t;j++)
printf("%c",(j==1||j==t?'*':''));
printf(" ");
}
return0;
}
7. C语言编程,用一个for循环打印菱形
# include<stdio.h>
# include<stdlib.h>
void main()
{
int i,j,a,b,n;
printf("please enter size");
scanf("%d",&n);
for(i=1;i<n;i++)
{
for(j=1;j<=n+i-1;j++)
if(j==n-i+1 ||j==n+i-1)
printf("*");
else
printf(" ");
printf("\n");
}
for(i=1;i<=2*n-1;i++)
printf("*");
printf("\n");
for(a=1;a<n;a++)
{
for(b=1;b<=2*n-a-1;b++)
if(b==n-(n-a-1)||b==2*n-a-1)
printf("*");
else
printf(" ");
printf("\n");}
}
主要考虑用for循环来解决问题,把菱形分成两部分,先打印第一部分,然后打印第二部分。
8. 用c语言 for循环打印菱形 看图
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1-n;i<=n-1;i++)
{
for(j=0;j<abs(i);j++)
printf(" ");
for(j=0;j<2*(n-abs(i))-1;j++)
printf("*");
printf("
");
}
return 0;
}
9. C语言,打印菱形【嵌套循环】
#include<stdio.h>
voidmain()
{
inti,j,m,n;
scanf("%d",&n);
for(i=n;i>=-n;i--)
{
m=i;if(m<0)m=-m;
for(j=0;j<n*2+1;j++)
if(j==m||j==n*2-m)
printf("*");
elseprintf(".");
printf(" ");
}
}