作者ericleeyusia (Edward)
看板C_and_CPP
標題[問題] 詢問C/C++程式方面的問題
時間Wed Mar 27 02:05:33 2019
開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
c++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
轉成正空心三角形
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
#include <stdio.h>
#include <stdlib.h>
int main(void){
int a,b,i,k,p,l,c,m;
// a, i, k =loop index
// b = not used
// p = rows to be drawn
// l = height of the triangle
// c = temp variable for width calculation
// m = width of the triangle
char w;//the star symbol
printf("輸入指定的字元"); scanf("%s",&w);// read symbol
printf("請輸入你要的高度"); scanf("%d",&l);//read height
c=l-3;
m=(c*2)+5;//calculate the width of the triangle
p=l;//rows to draw - I would move this to the second for loop below
for(i=2;i<=m;i++) printf("%c",w); // draw the bottom of triangle
printf("\n"); // finiish the bottom
for(i=2;i<=l;i++) { // draw one line at a time
for(a=2;a<=i;a++) printf(" "); // draw the leading blanks
if(i<l) printf("%c",w); // draw the star, except for the last line
for(k=3;k<=p;k++)printf(" "); //draw the inside of the triangle, left
left half
for(k=4;k<=p;k++)printf(" "); //draw the inside of the triangle, right
right half
printf("%c\n",w); // draw the star at the right side
p--; // one more line has been drawn
}
system("pause"); // keep the window open
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.158.52
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1553623536.A.119.html
噓 moebear: 03/27 02:11
推 s4300026: 仔細看了一下,這是HW吧? 教寫迴圈的 03/27 12:18
噓 MartinJ40: 03/27 15:37
噓 jerryh001: 所以要問啥 03/27 18:56
→ ericleeyusia: 我轉不成正三角形QQ 03/27 20:24
推 s4300026: 寫程式基本技巧,把自己當電腦執行。 所以趕快拿起你的 03/27 21:39
→ s4300026: 紙跟筆,嘻嘻。 03/27 21:39
→ kiedveian: 至少先說一下自己的想法,有做過什麼修改測試 03/27 23:51
→ firejox: 仔細看一下,這應該有漏洞(′・ω・`) 03/28 13:44
→ ericleeyusia: 怎麼說 03/28 14:01
→ ericleeyusia: 我有試著改上面部分數字 但我還是找不到方向 03/28 14:02