1. 函數反序排列數字

1-1 剝皮法
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n>0) ////還有剩下n
{
int a=n%10;///剝皮
n /= 10;///剩下的
printf("%d",a);
}
printf("\n");
}
1-2吹氣球(組合數字)

#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int ans=0;
while(n>0) ///還剩下n
{
int a=n%10; ///剝皮
n /= 10;
ans*=10; ///吹氣放大
ans+=a; ///有空洞,塞答案進去
}
printf("%d\n",ans);
}
2. 2進位轉10進位

#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
int n1= n%10;
int n2= (n/10)%10;
int n3= (n/100)%10;
int n4= (n/1000)%10;
int ans=n1*1+n2*2+n3*4+n4*8;
///2進位,每位數差2倍
printf("%d\n",ans);
}
3.CPE題目:uva.1583


技巧:
(1)從題目找出INPUT/OUTPUT解釋 ----->找generator
(2)找出之間的關係/答案
(3)甚麼是generator? 245+2+4+5=256
(4)generator把小的i變成大的
(5)用函式來簡化程式
#include <stdio.h>
int genBig(int n)
{
int ans=n;
while(n>0)
{
ans += n%10; ///剝皮法
n/=10;///剩的越來越少
}
return ans;
}
int main()
{
int T; ///測試資料有幾筆
scanf("%d", &T);
for(int t=0; t<T; t++)
{
int N;
scanf("%d",&N);
int ans=0;
for(int i=1; i<=N; i++)
{
if(genBig(i)== N)
{
ans=i;
break;
}
}
printf("%d\n", ans);
}
}
4.ANGRYBIRD
PImage imgBird;
void setup(){
size(500,400);
imgBird=loadImage("bird.png");
imageMode(CENTER);
}
void draw
沒有留言:
張貼留言