程式設計Week16
整數最大值、最小值(基礎)
程式碼:
#include <stdio.h>
int a[100];
int main( )
{
int max=0,min=99999;
for(int i=0;i<100;i++)
{
scanf("%d",&a[i]);
if(a[i]==0)break;
if(a[i]>max)max=a[i]; //找出最大整數
if(a[i]<min)min=a[i]; //找出最小整數
}
printf("[%d,%d]",min,max);
}
平面兩座標的面積 (基礎)
程式碼:
#include <stdio.h>
int main( )
{
int a,c,b,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
int ans=(a-c)*(b-d);
if(ans<0)printf("%d",-ans); //面積不會是"負數"
else printf("%d",ans);
}
整數向量相加(基礎)
程式碼:
#include <stdio.h>
int a[10]; //分開讀取兩個陣列,並相加
int b[10];
int main( )
{
int N;
scanf("%d",&N);
for(int i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<N;i++)
{
scanf("%d",&b[i]);
}
for(int i=0;i<N;i++)
{
printf("%d ",a[i]+b[i]);
}
}
計算一組任意數目的整數的總和(基礎)
程式碼:
#include <stdio.h>
int a[100];
int main( )
{
int ans=0;
for(int i=0;i<100;i++)
{
scanf("%d",&a[i]);
if(a[i]= =0)break;
if(a[ i ]>0)ans+=a[i]; //如果是負值不加進去
}
printf("%d",ans);
}
億萬富翁 (進階)
程式碼:
#include <stdio.h>
int main( )
{
long long int a; //設一個很長的整數為a
scanf("%lld",&a);
long long int b=0;
while(a!=0) //因為印出來數值相反,每3數一組倒過來變成一個新的數值
{
b+=a%1000;
a/=1000;
b*=1000;
}
long long int now=b/1000;
long long int ans=0;
while(now!=0)
{
ans=now%1000;
printf("%lld",ans); //每3數一組印出","
now/=1000;
if(now>0)printf(",");
}
}
秒數換算(進階)
程式碼:
#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a);
int hr=a/3600,min=a/60%60,s=a%60%60;
printf("%.2d:%.2d:%.2d",hr,min,s); //"%.2d"讀出兩位數(也可寫"%02d")
}
計算級數的值(進階)
程式碼:
#include <stdio.h>
int f(int a)
{
int ans=0;
for(int i=0;i<=a;i++)
{
ans+=(2*i)+1;
}
return ans;
}
int main( )
{
int a;
scanf("%d",&a);
int ans=f(a);
printf("f(%d)=%d",a,ans);
}
拆解輸入的正整數(進階)

程式碼:
#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a);
int b=0;
for(int i=1;i<20000;i*=10) //每跑一輪i*10
{
b=a%10;
if(a!=0)printf("%d ",b*i);
a/=10;
}
}
小人物
程式碼:
PImage img;
void setup( )
{
size(500,500);
img=loadImage("img.jpg");
imageMode(CENTER);
}
int a=0, b=0, x=250, y=250; //"a,b"切割圖片;x,y為座標
void draw( )
{
background(255);
//image( img, 0,0);
image( img.get(141*a, 211*b, 141,211), x,y); //get函式取出圖
if(frameCount%30= =0) a = (a+1)%4; //"frameCount"每秒自己動2次,
//"a"切換0~4圖片
}
void keyPressed( ) //上下左右鍵切換動作及座標
{
if(keyCode= =RIGHT)
{
b=3;
x++;
}
if(keyCode= =LEFT)
{
b=2;
x--;
}
if(keyCode= =UP)
{
b=1;
y--;
}
if(keyCode= =DOWN)
{
b=0;
y++;
}
}
沒有留言:
張貼留言