#include <stdio.h>
int a[10]; //設置陣列
int N=0; //陣列目前有0個
int main()
{
int now; //陣列目前位置
while(1){
scanf("%d", &now);
if(now==0){
break;
}
a[N]= now; //a[0]= 目前讀入的數
N++; //往後移一格
}
for(int i=N-1;i>=0;i--){
printf("%d ", a[i]); //倒過來印
}
printf("\n");
-----------------------------------------------------
瘋狂程設進階題複習2 : 大小寫轉換
#include <stdio.h>
char line[20];
int main()
{
scanf("%s", line); //讀入字串
for(int i=0; line[i]!=0 ;i++){ //line[i]!=0 --> 當字串為 '\0' 是結尾,結束
char a= line[i]; //現在的字母
if(a>='A' && a<='Z'){ //如果現在字母是大寫
line[i]= a-'A'+'a'; //減去大寫成分+上小寫
}
else if(a>='a' && a<='z'){ //現在是小寫,同上
line[i]= a-'a'+'A';
}
}
printf("%s\n", line);
}
-------------------------------------------------------
泡泡排序法
--> 兩兩比較,如果後面的比較小就交換
--> 對於快排好的效率特別快
--> 對於大的都在前面的效率特別低
//int []a=new int[10]; //Java's Array
//int []a={3,0,1,8,7,2,5,4,6,9}; //https://www.youtube.com/watch?v=lyZQPjUT5B4
//int []a={6,3,5,9,1,0,4,2,7,8};
//int []a={1,2,3,5,0,4,6,7,8,9};
//int []a={0,9,1,2,3,5,4,6,7,8}; //對於快要排好的東西, 特別快!!!
int []a={9,8,7,6,5,4,3,2,1,0}; //最糟的狀況:全倒 => QQ
void setup(){
size(500,800);
//for(int i=0;i<10;i++){ //random choose number
// a[i]=int(random(10)); //亂數決定數字
//}
textSize(36);
textAlign(LEFT,TOP);
showArray(y);
}
int y=0;
void showArray(int y){
for(int i=0;i<10;i++){
fill(255); rect(i*50, y, 50,50);
fill(0); text(a[i], i*50, y);
}
}
void draw(){
}
void mousePressed(){
for(int i=0; i<10-1;i++){
if(a[i] > a[i+1]){
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
fill(255,0,0,128); rect(i*50, y, 100,50);
}
}
y+=50;
showArray(y);
}
容易理解的影片範例
-----------------------------------------
小精靈繼續做~
void setup()
{
size(400,400);
}
int x=100, y=100, angle= 45, diff= 1;
//x,y= 一開始座標 ,angle= 角度,diff= 差值
void draw()
{
background(0);
arc(x,y, 80,80, radians(angle), radians(360-angle), PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
}
--------------------------------------------------------------------------------
void setup()
{
size(400,400);
}
int x=100, y=100, angle= 45, diff= 1, dx= 1,dy= 0;
void draw()
{
background(0);
arc(x,y, 80,80, radians(angle), radians(360-angle), PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
x+=dx; //x座標增加
y+=dy; //y座標增加
}
void keyPressed() //按鍵,小精靈移動
{
if(keyCode==RIGHT) { dx=+1; dy= 0;}
if(keyCode==LEFT) { dx=-1; dy= 0;}
if(keyCode==UP) { dx=0; dy= -1;}
if(keyCode==DOWN) { dx=0; dy= +1;}
}

---------------------------------------------------
void setup()
{
size(400,400);
}
int x=100, y=100, angle= 45, diff= 1, dx= 1,dy= 0, dir=0;
void draw()
{
background(0);
arc(x,y, 80,80, radians(dir+angle), radians(dir+360-angle), PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
x+=dx;
y+=dy;
}
void keyPressed() //增加方向的角度 dir : 0,180,270,90
{
if(keyCode==RIGHT) { dx=+1; dy= 0; dir= 0;}
if(keyCode==LEFT) { dx=-1; dy= 0; dir= 180;}
if(keyCode==UP) { dx=0; dy= -1; dir= 270;}
if(keyCode==DOWN) { dx=0; dy= +1; dir= 90;}
}
--------------------------------------------------
大致完成小精靈功能
int [][]bean={
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1} };
void setup()
{
size(400,400);
}
int x=100, y=100, angle= 45, diff= 1, dx= 1,dy= 0, dir=0;
void draw()
{
background(0);
fill(255);
for(int y=0; y<10; y++){
for(int x=0; x<10; x++){
if(bean[x][y]==0) continue;
ellipse(20+x*40, 20+y*40, 10,10);
if(dist(x,y, 20+x*40, 20+y*40) <20) bean[y][x]=0;
}
}
fill(#FFCF0D); arc(x,y, 40,40, radians(dir+angle), radians(dir+360-angle), PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
x+=dx;
y+=dy;
}
void keyPressed()
{
if(keyCode==RIGHT) { dx=+1; dy= 0; dir= 0;}
if(keyCode==LEFT) { dx=-1; dy= 0; dir= 180;}
if(keyCode==UP) { dx=0; dy= -1; dir= 270;}
if(keyCode==DOWN) { dx=0; dy= +1; dir= 90;}
}

void setup()
{
size(400,400);
}
int x=100, y=100, angle= 45, diff= 1, dx= 1,dy= 0;
void draw()
{
background(0);
arc(x,y, 80,80, radians(angle), radians(360-angle), PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
x+=dx; //x座標增加
y+=dy; //y座標增加
}
void keyPressed() //按鍵,小精靈移動
{
if(keyCode==RIGHT) { dx=+1; dy= 0;}
if(keyCode==LEFT) { dx=-1; dy= 0;}
if(keyCode==UP) { dx=0; dy= -1;}
if(keyCode==DOWN) { dx=0; dy= +1;}
---------------------------------------------------
void setup()
{
size(400,400);
}
int x=100, y=100, angle= 45, diff= 1, dx= 1,dy= 0, dir=0;
void draw()
{
background(0);
arc(x,y, 80,80, radians(dir+angle), radians(dir+360-angle), PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
x+=dx;
y+=dy;
}
void keyPressed() //增加方向的角度 dir : 0,180,270,90
{
if(keyCode==RIGHT) { dx=+1; dy= 0; dir= 0;}
if(keyCode==LEFT) { dx=-1; dy= 0; dir= 180;}
if(keyCode==UP) { dx=0; dy= -1; dir= 270;}
if(keyCode==DOWN) { dx=0; dy= +1; dir= 90;}
--------------------------------------------------
大致完成小精靈功能
int [][]bean={
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1} };
void setup()
{
size(400,400);
}
int x=100, y=100, angle= 45, diff= 1, dx= 1,dy= 0, dir=0;
void draw()
{
background(0);
fill(255);
for(int y=0; y<10; y++){
for(int x=0; x<10; x++){
if(bean[x][y]==0) continue;
ellipse(20+x*40, 20+y*40, 10,10);
if(dist(x,y, 20+x*40, 20+y*40) <20) bean[y][x]=0;
}
}
fill(#FFCF0D); arc(x,y, 40,40, radians(dir+angle), radians(dir+360-angle), PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
x+=dx;
y+=dy;
}
void keyPressed()
{
if(keyCode==RIGHT) { dx=+1; dy= 0; dir= 0;}
if(keyCode==LEFT) { dx=-1; dy= 0; dir= 180;}
if(keyCode==UP) { dx=0; dy= -1; dir= 270;}
if(keyCode==DOWN) { dx=0; dy= +1; dir= 90;}
沒有留言:
張貼留言