(基礎)找千位數
題目:
讀入 1000 - 100000 的數字,找出其千位數的數字
程式碼:
#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a);
printf("%d",(a/1000)%10); //先"/"1000找商數再"%"找餘數
}
(基礎)正整數平方和
題目:
輸入正整數n,可計算:1*1+2*2+...+n*n 之總和的結果。數字範圍:整數1~1000
程式碼:
#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a);
int ans=0;
for(int i=1;i<=a;i++)
{
ans+=i*i;
}
printf("%d",ans);
}
(基礎)兩數間3倍數總和
題目:
請輸入兩個由小到大的正整數(起始數字與終止數字),可計算出【起始數字】到【中止數字】間所有3的倍數之總和。{ex. 3 9 => 3+6+9=18} 數字範圍:整數1~1000
程式碼:
#include <stdio.h>
int main( )
{
int a,b;
scanf("%d%d",&a,&b);
int ans=0;
for(int i=a;i<=b;i++) //範圍從a開始,b結束
{
if(i%3= =0)ans+=i;
}
printf("%d",ans);
}
(基礎)判斷象限
題目:
判斷所輸入座標(x,y)的所在象限,(僅考慮在四個象限的情況,不考慮在軸線及原點的情況)。{ex.(1,1)屬第一象限、(-1,1)屬第二象限、(-1,-1)屬第三象限、(1,-1)屬第四象限} 數字範圍:整數 -1000~1000
程式碼:
#include <stdio.h>
int main( )
{
int a,b;
scanf("%d%d",&a,&b);
if(a>0&&b>0)printf("1\n");
else if(a>0&&b<0)printf("4\n");
else if(a<0&&b>0)printf("2\n");
else printf("3\n");
}
(基礎)求N所有因數和
題目:
輸入n (n>0), 求 n之所有因數和。{ex. 2之因數為1、2,因數和為因數加總1+2=3}
程式碼:
#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a);
int ans=0;
for(int i=1;i<=a;i++) //迴圈找因數
{
if(a%i==0)ans+=i; //可以整除,把i加入答案
}
printf("%d",ans);
}
(基礎)判斷閏年
題目:
輸入西元y年,判斷該y年是否為閏年,輸出相對訊息。{閏年定義:西元年份除以4可整除,且除以100不可整除,為閏年。 西元年份除以100可整除,且除以400不可整除,為平年}
程式碼:
#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a);
int ans=0;
if(a%400= =0)ans=1;
else if(a%100= =0)ans=0;
else if(a%4= =0)ans=1;
else ans=0;
if(ans= =1)printf("%d is a leap year.\n",a);
else printf("%d is not a leap year.\n",a);
}
(基礎)數字倒印
題目:
輸入10個整數,把這10個數字倒著印出來。數字範圍:整數1 – 100
程式碼:
#include <stdio.h>
int a[10];
int main( )
{
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(int i=9;i>=0;i--) //反讀
{
printf("%d ",a[i]);
}
}
(基礎)區間測速
題目:
龜山區萬壽路1段裝設區間測速器,長度1.2公里,輸入1個整數(車輛通過該區間所行駛的秒數),輸出它的時速印出來(只印整數部分,小數部分無條件捨去)。(時速的單位是每小時幾公里( km/hour)。1小時有60分鐘,1分鐘有60秒,輸入的是秒數) 數字範圍:整數1 – 1000
程式碼:
#include <stdio.h>
int main( )
{
int a;
scanf("%d",&a);
int ans=60*60*1.2/a; //如果直接印出會出現亂碼
printf("%d",ans);
}
(基礎)水杯接水
題目:
有一桶水要分裝到杯子中,水桶中的水有N毫升,杯子的容量為M毫升,請問至少需要幾個杯子才能承接水桶裡的水。現在輸入N與M,請輸出答案。數字範圍:N為1 – 9999,M為1 –99
程式碼:
#include <stdio.h>
int main( )
{
int a,b;
scanf("%d%d",&a,&b);
int ans;
if(a%b= =0)ans=a/b; //剛好滿
else ans=a/b+1; //有多出,再拿一個杯子
printf("%d",ans);
}
(基礎)平面座標面積
題目:
輸入平面兩點座標的四個整數值(x1,y1,x2,y2),計算並顯示這兩點所圍之面積。(EX.輸入(x1,y1,x2,y2),計算(x1,y1)、(x1,y2)、(x2,y2)、(x2,y1)所圍面積。) 數字範圍:整數1 –100
程式碼:
#include <stdio.h>
int main( )
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
int ans=(a-c)*(b-d); //X座標距離差*Y座標距離差=面積
if(ans>0)printf("%d",ans);
else printf("%d",-ans);
}
憤怒鳥音樂
程式碼:
import ddf.minim.*; //外掛
Minim minim; //物件minim
AudioPlayer player; //物件playrt
void setup( )
{
minim=new Minim(this);
player=minim.loadFile("song.mp3");
player.play( );
}
void draw( ) //不寫沒聲音
{
}
(接續)亂鳥打不死豬

程式碼:
PImage imgBird,imgPig;
float [ ] pigX=new float[20]; //豬的最大數量:20隻
float [ ] pigY=new float[20];
int pigN=0; //0隻豬
import ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup( )
{
size(500,400);
imgBird=loadImage("bird.png");
imgPig=loadImage("pig.gif");
imageMode(CENTER);
minim=new Minim(this);
player=minim.loadFile("song.mp3");
player.play( );
}
float birdX=100,birdY=300,oldX,oldY,vx=0,vy=0;
boolean bMoving=false;
void draw( )
{
background(255);
for(int i=0; i<pigN; i++) //畫豬
{
image(imgPig, pigX[i], pigY[i], 100,100);
}
image(imgBird, birdX,birdY,100,100);
if(bMoving) line(mouseX,mouseY,oldX,oldY);
birdX+=vx; birdY+=vy; //速度隨拉直線的長度增加
if(birdX>500-50 || birdX<50) vx=-vx;
if(birdY>400-50 || birdY<50) vy=-vy;
void mouseReleased( )
{
bMoving=false;
vx=(oldX-mouseX)/10; vy=(oldY-mouseY)/10;
}
void mousePressed( )
{
if( mouseButton= =RIGHT) //按右鍵,增加一隻豬
{
pigX[pigN]=mouseX; pigY[pigN]=mouseY;//TODO2
pigN++;//TODO2
}
if(dist(mouseX,mouseY,birdX,birdY)<50)
{
bMoving=true;
oldX=birdX; oldY=birdY;
}
}
void mouseDragged( )
{
if(bMoving)
{
birdX=mouseX;
birdY=mouseY;
}
}
沒有留言:
張貼留言