Processing
1.亂數產生數字,使用泡泡排序法從小到大。
程式:
int []a=new int[10];//Java's Array //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={9,8,7,6,5,4,3,2,1,0}; 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); ///可更改第四個數字來改變透光度(越接近255越不透光)
} } y+=50; showArray(y); }
2.從左上角50,50的地方產生一個正方形和一個紅色的A
程式:
size(200,200);
rect(50,50,50,50);
textSize(40);
textAlign(LEFT,TOP);
fill(#ff0000); text("A",50,50);
3.產生一個縱橫都有五個圓形的視窗
程式:
void setup(){
size(300,500);
}
int N=5;
void draw(){
background(0);
int R=300/N,w=R/2;
for(int x=0;x<N;x++){
for(int y=0;y<N;y++){
ellipse(0+w+x*R,200+w+y*R,R,R);
}
}
}
4.Lyto Different Color遊戲
程式:
void setup(){
size(300,500);
colorMode(HSB);
}
int ansX=2,ansY=3;
int N=5;
int H=255,S=255,B=255;
void draw(){
background(0);
int R=300/N,w=R/2;
for(int x=0;x<N;x++){
for(int y=0;y<N;y++){
if(x==ansX&&y==ansY) fill(H+10,S-35,B-45);
else fill(H,S,B);
ellipse(0+w+x*R,200+w+y*R,R,R);
}
}
}
void mousePressed(){
ansX=int(random(N));ansY=int(random(N));
H+=16;
if(H>255)H=0;
}
瘋狂程設
1.進階題:大小寫轉換
程式:
#include <stdio.h>
char line[100];
int main(){
scanf("%s",line);
for(int i=0;line[i]!=0;i++){
char c=line[i];
if(c>='A' && c<='Z'){
line[i] = c-'A'+'a';
}else if(c>='a' && c<='z'){
line[i] = c-'a'+'A';
}
}
printf("%s\n",line);
}
2.進階題:A的B次方函數
程式:
#include <stdio.h>
int MYPOWER(int a,int b){
int ans=1;
for(int i=0;i<b;i++){
ans*=a;
}
return ans;
}
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("[%d]",MYPOWER(a,b));
return 0;
}
3.Back to High School Physics
程式:
#include <stdio.h>
int main(){
int v,t;
while(scanf("%d %d",&v,&t)==2){
printf("%d\n",2*v*t);
}
}
沒有留言:
張貼留言