2020年5月14日 星期四

可憐的大三重修仔_week12

2020/5/14 week12
Part1:練習程式基礎題x2
(1)3的倍數和
沒有甚麼困難的題目

(2)區間測速
沒有甚麼困難的題目

-------------------------------------------------------------------
CPE 一星級題目:you can say 11
老師分成很多技巧來拆解這些題目
先能讀入數字,當為0時停止

能印出答案

因為有些讀入的數字過龐大,必須要用字串來處理

要判斷是否為11的倍數用數字的1 3 5...相加,去
減掉2 4 6...相加,然後再去除以11判斷是否為11
的倍數或0。所以分成ans1,ans2做處理

把未填入的部分補齊

程式碼:
#include <stdio.h>
#include <string.h>
char line[1001];
int main()
{
while(1){
scanf("%s",line);
if(strcmp(line,"0")==0) break;

int ans1=0;
int ans2=0;
for(int i=0;line[i]!=0;i++){
if(i%2==0) ans1+=line[i]-'0';
else ans2+=line[i]-'0';
}

if((ans1-ans2)%11==0){
printf("%s is a multiple of 11.\n",line);
}else{
printf("%s is not a multiple of 11.\n",line);
}
}
}

-------------------------------------------------------
part2:angrybird


程式碼:
PImage imgBird,imgPig;
float birdX=200,birdY=200,oldX,oldY,vx=0,vy=0;
void setup(){
    size(400,400);
    imgBird=loadImage("bird.png");
    imgPig=loadImage("pig.gif");
    imageMode(CENTER);
}
void draw(){
  background(255);
  image(imgBird,birdX,birdY,100,100);
  birdX+=vx;
  birdY+=vy;
}
void mousePressed(){
  oldX=birdX;
  oldY=birdY;
}
void mouseDragged(){
  birdX=mouseX;
  birdY=mouseY;
}
void mouseReleased(){
  vx=(oldX-birdX)/10;
  vy=(oldY-birdY)/10;
}

沒有留言:

張貼留言