今天的兩節課半依舊在為程設會考做練習,有隨堂考!
那麼就來簡單說明下今天的8題練習題
基礎:整數間最大距離
#include <stdio.h>
int main()
{
int a,b,c,ans=0;
scanf("%d%d%d",&a,&b,&c);
if(a>=b && b>=c)ans=a-c;
if(a>=c && c>=b)ans=a-b;
if(b>=a && a>=c)ans=b-c;
if(b>=c && c>=a)ans=b-a;
if(c>=a && a>=b)ans=c-b;
if(c>=b && b>=a)ans=c-a;
printf("%d\n",ans);//最大-最小
}
進階題:三數組合

#include <stdio.h> int main() { int a,b,c,ans=0; scanf("%d%d%d",&a,&b,&c); if(a>=b && b>=c)ans=a*100+b*10+c; if(a>=c && c>=b)ans=a*100+c*10+b; if(b>=a && a>=c)ans=b*100+a*10+c; if(b>=c && c>=a)ans=b*100+c*10+a; if(c>=a && a>=b)ans=c*100+a*10+b; if(c>=b && b>=a)ans=c*100+b*10+a; printf("%d",ans+1);//要記得+1 }基礎題:整數最大值、最小值
#include <stdio.h>
int main() { int a=-9999,b=9999;//要先放不合理的數字,才能被換掉 while(1) { int c; scanf("%d",&c); if(c==0)break; if(c>a)a=c; if(c<b)b=c; } printf("[%d,%d]",b,a); }
基礎題:整數向量相加
#include <stdio.h>
int a[10];//陣列存資料 int b[10]; int main() { int c; scanf("%d",&c); for(int i=1;i<=c;i++) { scanf("%d",&a[i]); } for(int i=1;i<=c;i++) { scanf("%d",&b[i]); } for(int i=1;i<=c;i++) { printf("%d ",a[i]+b[i]); } } 基礎題:計算一組任意數目的整數的總和
#include <stdio.h>
int main() { int ans=0; while(1) { int a; scanf("%d",&a); if(a==0)break; if(a>0)//負的不要加 { ans=ans+a; } } printf("%d",ans); } 進階題:陣列找出現次數
#include <stdio.h>
int b[10]; int main() { int a; for(int i=1;i<=10;i++) { scanf("%d",&b[i]); if(b[i]==0) { a=i;//要記起來,等下迴圈要用 break; } } int c; scanf("%d",&c); int ans=0; for(int i=1;i<=a;i++) { if(b[i]==c)ans++; } printf("%d\n",ans); } 進階題:10數排序,從大到小排好
#include <stdio.h>
int a[10]; int main() { for(int i=0;i<10;i++) { scanf("%d",&a[i]); } for(int j=0;j<10;j++) { for(int i=0;i<10;i++) { if(a[i]<a[j])//若反過來 { int temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(int i=0;i<10;i++) { printf("%d ",a[i]); } } 進階題:區間測速,超速之王
#include <stdio.h>
int main() { int a=0; int b=999; for(int i=1;i<=10;i++) { int c; scanf("%d",&c); if(c<b) { b=c; a=i; } } int ans=60*60*1.2/b; printf("%d %d",a,ans); }
心得:
今天玩電玩學程式的部分因為時間有限,
老師並沒有教太多,最主要是教我們註冊
網頁版OpenProcessing.org ,
能夠將自己的程式上傳上去,
期待下次更加仔細,完整的解說。







沒有留言:
張貼留言