1. 如何用c语言输出以下图案 ___* __*** _***** ******* _***** __*** ___*
源代码为:
#include<stdio.h>
#include<windows.h>
int main()
{int i = 0;
int line = 0;
scanf("%d",&line);//程序运行后,输入一个数字i,就会得到(2*i-1)行图案
for(i = 0; i < line; i++)
{int j = 0;
for(j = 0; j < line-i-1; j++)
{printf(" ");}
for(j = 0; j < 2*i+1; j++)
{printf("*");}
printf(" ");}
for(i = 0; i < line; i++)
{int j = 0;
for(j = 0; j < i+1; j++)
{printf(" ");}
for(j = 0; j < 2*(line-i-1)-1; j++)
{printf("*");}
printf(" ");}
system("pause");
return 0;}
循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。
四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。
(1)如何用c语言打出小红花扩展阅读
for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)
表达式1为初值表达式,用于在循环开始前为循环变量赋初值。表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。表达式3为循环控制变量修改表达式,它使for循环趋向结束。循环体语句是在循环控制条件成立的情况下被反复执行的语句。
2. 如何用c语言打出下面图案
#include <stdio.h>
int main()
{int i,j;
for(i=0;i<5;i++)
{for(j=0;j<5-i;j++)
printf("*");
printf(" ");
}
return 0;
}
3. c语言怎样打出多行星花,像这个第四题。求大佬解答。
在C语言中使用 scanf 函数读入一个N。然后使用双重的循环。外循环一共执行n次。内循环则采用两个循环。第1个循环用来输出每行前面的若干个空格。第2个循环用来输出每一行上的若干个星号。等到两个内循环结束以后换行。
4. C语言如何用代码打出星星,如下
既然你这么急,我还是答一下吧,原图没法输出,类似的可以实现,,你看哪个最像原图就写哪个吧:
图形1:
#include <stdio.h>
int main(void)
{
int i,j;
for(i=1;i<=7;i++)
{
for(j=7-i;j--;) printf(" ");
for(j=i;j--;) printf(" *");
printf(" ");
}
return 0;
}
5. C语言:打出下面的图案,怎么编程
代码文本:
#include "stdio.h"
#define ch '>'
int main(int argc,char *argv[]){
int i,j,k;
for(k=0,i=1;i<6;i++){
for(j=2;j<i;putchar(ch),j++);
for(k+=i/3,j=k;j++<6;putchar(' '));
for(j=0;j++<i;putchar(ch));
putchar(' ');
}
for(k=0;k<14;putchar(ch),k++);
putchar(' ');
for(k=3,i=5;i>0;i--){
for(j=2;j++<i;putchar(ch));
for(j=k,k-=i/3;j++<6;putchar(' '));
for(j=0;j++<i;putchar(ch));
putchar(' ');
}
return 0;
}
这是老早写的代码,按你的要求改了一下,供参考……
6. 用C语言输出心型图案。
你好
代码如下:
#include <stdio.h>
int main()
{
int i,j;
printf(" ****** ******\n"
" ********** **********\n"
" ************* *************\n");
//前三排的规律性不强 所以直接显示就好了
for(i=0;i<3;i++)//显示中间三排
{
for(j=0;j<29;j++)
printf("*");
printf("\n");
}
for(i=0;i<7;i++)//显示呈递减趋势规律的中间7排
{
for(j=0;j<2*(i+1)-1;j++)
printf(" ");
for(j=0;j<27-i*4;j++)
printf("*");
printf("\n");
}
for(i=0;i<14;i++)//最后一个星号*与上面的规律脱节了 所以独立显示
printf(" ");
printf("*\n");
return 0;
}
显示心型和楼主想要的一模一样
希望能帮助你哈
7. 用C语言编一个程序,使之用“*”打印出一个爱心的图案
/*
用C语言输出:
* *
* * *
* *
*
*/
#include <stdio.h>
int main()
{
int a[4][7] ={{0,1,0,0,0,1,0},{1,0,0,1,0,0,1},{0,1,0,0,0,1,0},{0,0,0,1,0,0,0}};
for(int i=0;i<4;i++) /*输出行*/
{
for(int j=0;j<7;j++) /*输出列*/
{
if(a[i][j] !=0)
printf("*");
else
printf(" ");
}
printf("\n");
}
return 0;
}
//这是我用索引数组的方法写的。
//如果你需要其它的版本可以告 * 诉我。
8. c语言 输出以下图案 * * * * * * * * * * * * * * * * * * * * * * * * * * *
main()
{
print( "*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*");}
如果你对我的回复感到满意,请你选择“采纳”和“小红花”评价,这将鼓励我们更好的为其他网友解答,谢谢。以上是猴岛论坛:雨忆为您解答
9. 用C语言编程打出下面的图案。。。
#include<stdio.h>
#define n 3
int main()
{
int i,j;
for(i=0;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i+1;j++)
printf("*");
printf("\n");
}
for(i=n-1;i>=0;i--)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i+1;j++)
printf("*");
printf("\n");
}
}
10. c语言击鼓传花问题
#include<stdio.h>
#include<malloc.h>
#include<stdbool.h>//truefalse
#defineMAXN20
//以下代码以循环双链表编写
typedefstructnode
{
intvalue;//存储该节点的值
structnode*next;//该节点的后一个节点地址
structnode*prior;//该节点的前一个节点地址
}Neo;//把structnode{...}重命名为Neo
///在堆中分配内存
Neo*InitNewNode(void)
{
Neo*newnode=(Neo*)malloc(sizeof(Neo));
newnode->value=0;
newnode->next=newnode;
newnode->prior=newnode;//该节点存储的前后节点默认为自己
returnnewnode;
}
///得到一个长度为count的Neo双链表
voidInitNeoList(Neo*head,intcount)
{
Neo*p=head;//p初始化指向头节点
inti;
for(i=0;i<count;++i)
{
Neo*node=InitNewNode();
node->value=i+2;
//把该节点添加到双链表中
p->next=node;
node->prior=p;
node->next=head;
head->prior=node;
//p指向新添加的节点
p=node;
}
return;
}
voidOutput(Neo*head,inttimes)
{
Neo*p=head->next;
intcot=0;
intdel=0;
while(true)
{
cot++;
if(cot==times)
{
printf("%d ",p->value);//输出该点的值
//把该点移除该双链表
p->prior->next=p->next;
p->next->prior=p->prior;
Neo*q=p;//存储要删除的节点
free(p);//标记为可释放
p=q->next;//把花给下一个人
cot=0;
del++;
}
p=p->next;
if(del==MAXN)break;
}
return;
}
intmain(intargc,charconst*argv[])
{
Neo*head=InitNewNode();
head->value=1;//头节点存储第一个同学的编号
InitNeoList(head,MAXN-1);//再添加19个节点
inttimes;
scanf("%d",×);
Output(head,times);
return0;
}