課程
/后端開發
/C
/C語言入門
整道題完全沒看懂,這三個字母分別對應了什么,又怎么產生聯系的?希望大佬能講解細一點,然后求一份標準的答案。?
2021-06-10
源自:C語言入門 4-12
正在回答
#include <stdio.h>
int main()
{
? ? int i, j, k;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? /* 觀察每行的空格數量,補全循環條件 */
? ? ? ? for(j=i;j<5;j++)??
? ? ? ? {
? ? ? ? ? ? printf(" ");? ? //輸出空格
? ? ? ? }
? ? ? ? /* 觀察每行*號的數量,補全循環條件 */
? ? ? ? for(k=0;k<i*2-1;k++)?
? ? ? ? ? ? printf("*");? ?//每行輸出的*號
? ? ? ? printf("\n");? ? ?//每次循環換行
? ? }
? ? return 0;
}
i表示行數,外層循環(i=1;i<5;i++)就是從第一行到第四行,執行循環體內的語句
j表示每一行星號前面的空格數,你要輸出一個三角形,那么第一行1顆星,前面要有3個空格;第二行3顆星,前面就得有2個空格;第三行5顆星,前面就得有1個空格;第四行7顆星,前面沒空格;因此循環條件為? ? ? ? ? ? ? for(j=1;j<5-i;j++),(這里答案給出的是(j=i;j<5;j++),效果和意思是一樣的)這樣你看,當i=1時,5-i=4,j<5-i也就是j<4,那么j就是從1到3,把這個循環跑了三遍,而我們循環體里的語句是printf(" ");輸出一個空格,那跑三次不就是輸出3個空格嗎?然后i=2,i=3,i=4依此;
k表示每一行的星星數,原理和空格的輸出是一樣的呀。
以下是我的代碼:
? ? ? ? for( j=1;j<5-i;j++)??
? ? ? ? for(k=1;k<i*2;k++)?
bugswriter
木羽lxc 回復 bugswriter
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
4 回答跪求標準答案
1 回答這個有標準答案?
3 回答求大佬給個答案,我不是很懂
1 回答求大佬解答
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2021-08-02
#include <stdio.h>
int main()
{
? ? int i, j, k;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? /* 觀察每行的空格數量,補全循環條件 */
? ? ? ? for(j=i;j<5;j++)??
? ? ? ? {
? ? ? ? ? ? printf(" ");? ? //輸出空格
? ? ? ? }
? ? ? ? /* 觀察每行*號的數量,補全循環條件 */
? ? ? ? for(k=0;k<i*2-1;k++)?
? ? ? ? {
? ? ? ? ? ? printf("*");? ?//每行輸出的*號
? ? ? ? }
? ? ? ? printf("\n");? ? ?//每次循環換行
? ? }
? ? return 0;
}
2021-06-14
i表示行數,外層循環(i=1;i<5;i++)就是從第一行到第四行,執行循環體內的語句
j表示每一行星號前面的空格數,你要輸出一個三角形,那么第一行1顆星,前面要有3個空格;第二行3顆星,前面就得有2個空格;第三行5顆星,前面就得有1個空格;第四行7顆星,前面沒空格;因此循環條件為? ? ? ? ? ? ? for(j=1;j<5-i;j++),(這里答案給出的是(j=i;j<5;j++),效果和意思是一樣的)這樣你看,當i=1時,5-i=4,j<5-i也就是j<4,那么j就是從1到3,把這個循環跑了三遍,而我們循環體里的語句是printf(" ");輸出一個空格,那跑三次不就是輸出3個空格嗎?然后i=2,i=3,i=4依此;
k表示每一行的星星數,原理和空格的輸出是一樣的呀。
以下是我的代碼:
#include <stdio.h>
int main()
{
? ? int i, j, k;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? /* 觀察每行的空格數量,補全循環條件 */
? ? ? ? for( j=1;j<5-i;j++)??
? ? ? ? {
? ? ? ? ? ? printf(" ");? ? //輸出空格
? ? ? ? }
? ? ? ? /* 觀察每行*號的數量,補全循環條件 */
? ? ? ? for(k=1;k<i*2;k++)?
? ? ? ? {
? ? ? ? ? ? printf("*");? ?//每行輸出的*號
? ? ? ? }
? ? ? ? printf("\n");? ? ?//每次循環換行
? ? }
? ? return 0;
}