目前顯示:星星會由上而下再由下而上跑
問題:如何把他拆成由上而下為第一行
由下而上為第二行
而且能同時出發
意思是能交會而過?
目前
#include <iostream>
#include <ctime>
#define size 15
using namespace std;
void Show(char diagram[],int s);
void upData(char diagram[],int s,int p);
int main()
{
char point[size]; //程式都是由第一列一直計算下去 所以有順序
{
int i,j;
for(j=0;j<size;j++) //由上而下
upData(point,size,j);
Show(point,size);
system("cls"); //消除螢幕
}
for(j=size;j>0,j--;) //由下而上 如何把這程式碼printf為第2行 ?
{
upData(point,size,j); // 而且要如何與第一行同時出發 ?
Show(point,size);
system("cls"); //消除螢幕
}
system("pause");
return 0;
}
void Show(char diagram[],int s)
{
int i;
for(i=0;i<s;i++)
{
cout<<diagram[i]<<endl;
}
}
void upData(char diagram[],int s,int p)
{
int i;
for(i=0;i<s;i++)
{
diagram[i]= ' ';
diagram[p]= '*';
}
}
整個題目內容是?
整個題目內容是?
題目內容是:製作兩個相交會的動畫星星
整個題目內容是?
題目內容是:製作兩個相交會的動畫星星
整個題目內容是?
題目內容是:製作兩個相交會的動畫星星
類似這樣 1個在左上 1個在右下
1. *
*
2.
*
*
3.
* * (相會)
4.
*
*
5. *
*
這樣應該有比較清楚一點了
整個題目內容是?
題目內容是:製作兩個相交會的動畫星星
是指這個嗎?
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, j, k, n, hight;
hight = 10;
for( i = 0, j = hight-i ; i < hight ; i++, j-- ) {
for( k = 0 ; k < hight ; k++ ) {
putchar(k==i?'*':' ');
putchar(k==j?'*':' ');
putchar('\n');
}
system("cls");
// printf("%d %d\n", i, j );
}
system("pause");
return 0;
}
我花了好久時間看懂題目XD
整個題目內容是?
題目內容是:製作兩個相交會的動畫星星
是指這個嗎?
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, j, k, height;
height = 10;
for( i = 0, j = height-i ; i < height ; i++, j-- ) {
for( k = 0 ; k <= height ; k++ ) {
putchar(k==i?'*':' ');
putchar(k==j?'*':' ');
putchar('\n');
}
system("cls");
// printf("%d %d\n", i, j );
}
system("pause");
return 0;
}
我花了好久時間看懂題目XD
我不小心把 height 拼成 hight 了
哈哈哈
是指這個嗎?
#include
#include
int main() {
int i, j, k, height;
height = 10;
for( i = 0, j = height-i ; i < height ; i++, j-- ) {
for( k = 0 ; k <= height ; k++ ) {
putchar(k==i?'*':' ');
putchar(k==j?'*':' ');
putchar('\n');
}
system("cls");
// printf("%d %d\n", i, j );
}
system("pause");
return 0;
}
我花了好久時間看懂題目XD
我不小心把 height 拼成 hight 了
哈哈哈
抱歉沒解釋清楚!
哈哈!小錯而已
putchar在C是代表....?
for( i = 0, j = height-i ; i < height ; i++, j-- )
第一次看到可以這樣寫 哈哈 有收穫
putchar(k==i?'*':' ');
putchar(k==j?'*':' ');
原來是一次寫兩格'*':' '
就可以排到第2行....忘了 = =
恩 是這樣的結果沒錯!謝謝
是指這個嗎?
#include
#include
int main() {
int i, j, k, height;
height = 10;
for( i = 0, j = height-i ; i < height ; i++, j-- ) {
for( k = 0 ; k <= height ; k++ ) {
putchar(k==i?'*':' ');
putchar(k==j?'*':' ');
putchar('\n');
}
system("cls");
// printf("%d %d\n", i, j );
}
system("pause");
return 0;
}
我花了好久時間看懂題目XD
我不小心把 height 拼成 hight 了
哈哈哈
抱歉沒解釋清楚!
哈哈!小錯而已
putchar在C是代表....?
for( i = 0, j = height-i ; i < height ; i++, j-- )
第一次看到可以這樣寫 哈哈 有收穫
putchar(k==i?'*':' ');
putchar(k==j?'*':' ');
原來是一次寫兩格'*':' '
就可以排到第2行....忘了 = =
恩 是這樣的結果沒錯!謝謝
putchar() 是 只輸出一個字元的函數
putchar(k==i?'*':' ');
中間的 k==i ? '*' : ' ' 是三元運算子
等於
if( k == i )
putchar('*');
else
putchar(' ');
寫兩次就是一行輸出兩個字元囉
恩 i got it!
謝謝~學姊