c語言圖案循環
Ⅰ c語言用for循環表示出下面這個圖形 求高手
#include <stdio.h>
int main( )
{ int i,n;
scanf("%d",&n);
for(i=1; i<=n; i++)
printf("%*.*s ",n+i-1,i+i-1,"***************");
for(i=n-1; i>0; i--)
printf("%*.*s ",n+i-1,i+i-1,"***************");
return 0;
}
Ⅱ C語言編程輸入如下圖案,用for循環。
#include<stdio.h>
voidmain()
{
inti,k;
for(i=0;i<9;i++)
{
if(i<5)
for(k=0;k<i+1;k++)
printf("*");
else
for(k=0;k<9-i;k++)
printf("*");
printf(" ");//樓下的這里有點問題這是我改正的還是採納樓下的吧
}
}
Ⅲ C語言:輸出下列圖案,使用循環逐行輸出: * *** ***** ******* *********
main()
{int i,j;
for(i=0;i<5;++i) //列印5行,循環
{
for(j=0;j<i*2+1;j++) //每行增加的星號數量的演算法,i*2+1
{
printf("*"); //循環列印j個星號
}
printf("\n"); //每行結束回車換行
}
Ⅳ 如何用c語言循環語句實現以下圖形
#include<stdio.h>
#include<string.h>
int main()
{
char a[]="He11o";
for(int i=0;i<5;i++)
{
for(int j=0;j<5-i;j++)
printf("*");
printf("%c ",a[i]);
}
}
Ⅳ C語言編寫程序輸出以下圖案必須利用循環語句控制
#define
n
7
void
main()
{
int
ch=97;//a對應數字為97
int
mid=(int)((n+1)/2);//確定最長那行中間的位置,即ddddddd這行中間位置為4,同時他也是此行的行數
for(int
i=1;i<=mid;i++)//上三角列印
{
int
j=0;
int
nblank=mid-i;//確定空格數
for(j=0;j
評論
0
0
載入更多
Ⅵ C語言求教..用循環語句打出下面的圖案。。。。
輸入兩個數,第一個是菱形的邊長,第2個數是顯示菱形的個數
比如隨即輸入第一個數是7,那菱形的邊長就是7
第2個數是1,菱形的個數就是1個,顯示出來的效果就是
1110111
1100011
1000001
0000000
1000001
1100011
1110111
#include <stdio.h>
#include <stdlib.h>
void main ()
{
int i,j,k,m,n,size;
printf ("input size: ");
scanf ("%d",&size);
if (size <=0||size%2==0)
{
printf ("thr size is error!\n");
exit (-1);
}
for (i=1;i<=size;i++)
{
n=(i<=(size+1)/2) ? i : size-i+1;
n=2*n-1;
m=(size-n)/2;
for (k=1;k<=m;k++)
printf ("1");
for (j=1;j<=n;j++)
printf ("0");
for (k=1;k<=m;k++)
printf ("1");
printf ("\n");
}
}
你吧1改成空格 把0 改成*
做的就夠詳細了啊 怎麼還不結束問題
你那樣的給你做了一個
main()
{
int i,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("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
Ⅶ C語言輸出圖案的問題(循環)
題一:
main()
{
int i,j,k,e,n,m;
scanf("%d",&n);
printf("\n");
for(m=(n/2)+1;m>=0;m--)
{for(i=0;i<=m;i++)
printf(" ");
for(j=(m*2)-1;j<n+1;j++)printf("*");printf("\n");}
for(m=(n/2)+1;m>=0;m--)
{for(i=m;i<=(n/2)+2;i++)
printf(" ");
for(j=0;j<(m*2)-1;j++)printf("*");printf("\n");}
}
題二:
main()
{
int i,j,k,e,n,m=0;
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++)
{
m++;
for(j=1;j<=i+1;j++)printf("%d",m);
for(k=i;k>0;k--)printf("%d",m);
printf(" ");
for(j=1;j<=i+1;j++)printf("%d",m);
for(k=i;k>0;k--)printf("%d",m);
printf("\n");
}
for(i=1;i<n;i++)
{
m++;e+=2;
for(k=i;k<n;k++)printf("%d",m);
for(j=n-1;j>i;j--)printf("%d",m);
printf(" ");
for(k=i;k<n;k++)printf("%d",m-e);
for(j=n-1;j>i;j--)printf("%d",m-e);
printf("\n");
}
題三:main()
{
int i,j,k,e,n,m;
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++)
{
for(j=1;j<=i+1;j++)printf("%d",j);
for(k=i;k>0;k--)printf("%d",k);
printf("\n");
}
}
兄弟啊 為了達到你的要求我是搞了兩個多小時。
題一你能輸入N個數 能正常顯示
題二隻能輸入1——5 ,超過就10多了一位數,整個都要移動
題三也不能超10不然會多移動一位
以上三題都經過TC反復測試正常,如果還有不懂的地方隨時可以HI我
Ⅷ 在C語言中如何用循環的方式輸出下面這個圖形
#include <stdio.h>
#define N (3)
int main()
{
int i;
for(i=-N/2;i<=N/2;++i)
printf("%*.*s ",i>0?N+i:N-i,N,"***************************");
return 0;
}
Ⅸ C語言循環輸出圖形
說下什麼編程環境?
TC還是mc++6.
這可以做,簡單把你己有的*號圖形寫成獨立的輸出函數,
我想你也是用printf加空格試出來的吧,在主程序調用就行.
#include<stdio.h>
#include<windows.h>//TC不用這頭文件
#include<conio.h>
voidyourprintf1(void){
/*
這里加你自己的*號圖形代碼
*/
printf("* ");
printf("*** ");
printf("***** ");
}
voidyourprintf2(void){
/*
這里加你自己的*號圖形代碼
*/
printf("****** ");
printf("** ");
printf("** ");
printf("** ");
printf("****** ");
}
voidyourprintf3(void){
/*
這里加你自己的*號圖形代碼
*/
}
voidyourprintf4(void){
/*
這里加你自己的*號圖形代碼
*/
}
main(){
do{
system("cls");
yourprintf1();
Sleep(1000);//vc用這個
delay(1000);//tc用這個
getch();
system("cls");
yourprintf2();
Sleep(1000);//vc用這個
delay(1000);//tc用這個
system("cls");
yourprintf3();
Sleep(1000);//vc用這個
delay(1000);//tc用這個
system("cls");
yourprintf4();
Sleep(1000);//vc用這個
delay(1000);//tc用這個
}while(getch()!='q');//按q退出圖形循環,不然一直循環顯示.
}
我只簡單畫了三角形和方形,
只要你自己有空用printf試好另外再復雜的圖形加入上面4個自定義的列印函數里就行.
看下效果:
Ⅹ C語言語言基礎練習——圖案輸出(雙重循環,經典)
#include<stdio.h>
#include<stdlib.h>
intmain(void)
{
inta,w=0,b=0;
printf("請輸入一個數:");
scanf_s("%d",&a);
for(inti=0;i<a;i++)//控制循環次數
{
for(intq=a;q>i;q--)//每排前面的空格數量
{
printf("");
}
printf("*");//輸出一個星星
for(intx=0;x<i+b;x++)//星星輸出完後再輸出一個空格,第二次就是三個,五個,七個這樣輸出下去,要不然會不對稱
{
printf("");
}
if(w!=0)//這一行的意思就是讓第一排只輸出一個星星,第二排開始都輸出兩個星星
{
printf("*");
b++;//第一次輸出只有一個星星,星星之間的空格要13579這樣奇數遞增,也就是從第二排開始才能遞增,第二排i就變成1了,所以b要從第三行開始增加
}
printf(" ");
w++;
}
for(inti=a;i>=0;i--)//下半部分相反輸出就好了
{
for(intq=i;q<a;q++)
{
printf("");
}
printf("*");
for(intv=0;v<i+b;v++)
{
printf("");
}
if(w>0)
{
printf("*");
b--;
}
printf(" ");
w--;
}
system("pause");
return0;
}
//你還是自己試下數,動動腦筋,畢竟是為了自己好,我給你這個程序主要是要你自己看懂
//才行,要是你直接拿去交作業什麼的,那我是在害你!