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;
}