㈠ c語言 循環嵌套
由外到內,逐層完成,for循環的方法你應該知道了吧,我就不一一說了。
首先進行最外面的循環,第一次
i=1
,進入循環體,由於他的循環體是另一個循環,也就是執行另一個循環,
首先由
j=0
開始,然後有進入循環體。。。也就是執行第三層循環,在你上面的程序來說
,完成第三個循環一共要循環
7次
,k
從
2
到
10
(等於10的時候跳出去,實際執行9次)。
然後,第二層循環進行了
1
次
,j
由
0
變成
1
,繼續循環,也就是從新開始
第三層循環。這樣一直下去,知道
j=10
跳出了第二層循環
,第一個循環才
完成了
1次
,i
由1變成
2,繼續又進入到第二層,第三層循環,在一層一層跳出來,直到跳出最外層循環為止。
用一句話來說就是
逐層進入,逐層完成,逐層跳出。
㈡ 如何用c語言的循環嵌套輸出有對角線的正方形
//JHTP Exercise 4.29:Square of Asterisks
//by [email protected]
/**(Square of Asterisks) Write an application that prompts the user to enter the size of the side
of a square, then displays a hollow square of that size made of asterisks. Your program should work
for squares of all side lengths between 1 and 20.*/
import java.util.Scanner;
public class SquareOfAsterisks {
public static void main (String[] args){
Scanner input=new Scanner(System.in);
System.out.print("請輸入要輸出的正方形大小(整數):");
int size=input.nextInt();
int number=1;
int sentinel=1;
while (sentinel<=size){
while (number<=size){
System.out.print("*");
number++;
}
System.out.print("\n");
number=1;
sentinel++;
}
}
}
㈢ c語言輸入一個正方形
#include<stdio.h>
intmain()
{
intn; //正方形的邊長
inti,j; //循環變數
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(j==0||j==n-1||i==0||i==n-1)
{
printf("*");
}
else
{
printf("");
}
}
printf(" ");
}
return0;
}
㈣ c語言問題,答案是25個點組成的正方形圖案,那個過程看不懂,求解釋為什麼這么編程,越詳細越好,好的加分
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
-----------------------------
上圖是執行結果,以下是分析:
#include <stdio.h>
void main()
{
int i,j,k;
//外循環4次,首先要列印的是上半部分三角形
for(i=0;i<=3;i++)
{
/*
這里是為了列印每行開頭預留的空格,顯然隨著行號i增大,j能循環次數越小,
那麼行的開頭能列印的空格就越少,於是出現了塔式結構,即正三角
*/
for(j=0;j<=2-i;j++)
{
printf(" ");//輸出空格
}
/* 列印星花
星花數與行號的關系就是k=2i+1 2倍+1關系
循環條件如果改寫成for (k = 0; k < 2 * i + 1; ++k)更容易看出這種關系
你也可以看出
for(k=0;k<=2*i;k++)
{
printf("* ");
}
printf("\n");
}
// 外循環3次,用來列印下部分三角形
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語言 for循環嵌套
循環的過程是先執行第一個大循環for(i=0;i<3;i++),此句中先給i賦值0,在判斷條件i<3是否成立賦值後的i=0了,所以條件成立,成立則做下面一條語句,就是for(j=0;j<4;j++),同樣這個循環還是先賦值j=0,在進行判斷j<4是否成立,成立就再做下一句。
此時scanf語句後面已經沒有語句了,所以程序就會跳上去到第二個循環中,即for(j=0;j<4;j++)這句話中,可能你會問為什麼不是第一句
(因為在循環嵌套中只有循環體執行完成所以的任務後才執行下面的語句,就是for(j=0;j<4;j++)
要全部執行完畢才能執行後面的語句。即j<4條件為假時跳出)跳到for(j=0;j<4;j++)這個循環體以後。就會自動加一,就是執行j++(注:在這個for裡面的j=0不再執行),這個賦值過程只在開始時執行。所以 j 這個循環要執行到條件不滿足時停止,即最後j的值要>=4.。
這樣 j 這個循環就結束了。結束後又跳到了第一句。因為第二個for是包含在第一個for 里的。只有第一個for 里包含的語句全部執行完後第一個for就再一次執行i++,i 變成了2,判斷條件i<3成立,就再執行下一句,所以下面的for(j=0;j<4;j++)又要再一次執行。執行完後就在回到第一個for執行。
原理:
i=0,j 執行4次,給a[0][0],a[0][1],a[0][2],a[0][3]賦值
i=1,j 執行4次,給a[1][0],a[1][1],a[1][2],a[1][3]賦值
i=2,j 執行4次,給a[2][0],a[2][1],a[2][2],a[2][3]賦值
i=3跳出.
還有不懂再問
㈥ 如何用C語言做一個(邊數為5個*)的正方形框架。謝謝。
最簡單的辦法
printf("*****");
printf("*
*");
printf("*
*");
printf("*
*");
printf("*****");
用五個printf就可以搞定
當然也可以用復雜的
比如說
循環
數組
再看看別人怎麼說的。
㈦ 問下各位,這個C語言輸出正方形
這個是命令行屬性所致,每行之間有一定的行距。程序本身沒有問題。
至於為什麼有行距,你想一下,如果每行之間沒有間距,你列印圖形確實會好看了,但顯示文字呢?豈不就很難看了?
一個小提醒,既然大的for循環中 i 是指行數,就不需要再定義count了,直接用 i 即可。
㈧ C語言 輸出正方形,不知道哪錯了,求解
??\r\nlz可能搞混了一些概念(這是使用ide的初學者常犯的)\r\nc語言必須編譯成可執行文件才可運行,也就是必須要編譯器(這個解釋器在這里沒用)。、\r\nlz將ide與編譯器混為一談,實際編譯器只是被ide調用而已,不屬於ide本身\r\nlz的問題是:不用ide如何編寫、運行程序吧。\r\n可以使用命令行(運行
輸入
cmd)\r\n執行
cl
+
file.c
(若已裝vc,
cl具體使用請另行參考)
㈨ 求助 C語言用for語句循環嵌套輸出以下圖形 蟹蟹啦
按照你的要求編寫的用for語句循環嵌套輸出以下圖形的C語言程序如下
#include <stdio.h>
int main()
{
int i,j,N=6;
for(i=1;i<=N;i++){
for(j=1;j<=N-i+1;j++){
printf("*");
}
printf(" ");
}
return 0;
}
㈩ (C語言)用循環嵌套輸出圖形: 急急急
#include<stdio.h>
intmain(void)
{
inti,j,k;
for(i=0;i<=3;i++)//這個是控制要輸出幾行「*」
{
for(j=0;j<=2-i;j++)//這個控制每行輸出幾個「空格」,跟i的關系來決定的
printf("");
for(k=0;k<=2*i;k++)//這個控制輸出空格之後,需要輸出幾個「*」號,
printf("*");
printf(" ");//在外層循環內部,內層循環的外部,意思內層循環結束一次後,換行。
}
}