# 資訊之芽(集合) ###### tags: `(Sprout OJ)` ## 764.減肥成功率 ```clike= #include<iostream> using namespace std; int main() { int a,b,c,d,sum; while(cin>>a>>b) { for(int sum=0;a--;sum=0) { for(int j=1;j<=b;j++) { cin>>c>>d; if(d-c<8) sum++; } cout<<sum*100/b<<endl; } } } ``` --- ## 294-我愛零分 ```clike= #include <iostream> using namespace std; int main() { int n,s,G[10000]; while(cin>>n) { for(int i=1;i<=n;i++) { cin>>s; if(s>0) { G[i]=0; } else G[i]=s; } for(;n>=1;n--) cout<<G[n]<<endl; } } ``` --- ## 217-凱撒密碼 ```clike= #include <iostream> using namespace std; int main() { char a,b; while(cin>>a) { b=(a-'a'+3)%26+'a'; cout<<b; } cout<<endl; } ``` --- ## 1419-矩陣翻轉 (未過) ```clike= #include <iostream> using namespace std; int main() { int n,m,a; while(cin>>n>>m) { int z[n][m]; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cin>>a; z[i][j]=a; } } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { cout<<z[j][i]<<" "; } cout<<endl; } } } ``` --- # -----------------第5週------------------ ## 456 - 回る回る回る回る... ```clike= #include <iostream> #include <cstring> using namespace std; int main() { int a; char z[1001],x[2002]; while(cin>>z) { a=strlen(z); for(int i=a-1;i>=0;i--) { strcpy(x,z+i); strcat(x,z); x[a]=0; cout<<x<<endl; } } } ``` --- ## 455 - 縮略詠唱可不是簡單的事情呢! #### 傳送門:https://neoj.sprout.tw/problem/455/ ```clike= #include <iostream> #include <cstring> using namespace std; int main() { char v1[100][100][100]; int a,b; while(cin>>a) { for(int i=0;i<a;i++) //設字元陣列 a=行數 b=節數 { cin>>b; for(int j=0;j<b;j++) { cin>>v1[i][j]; } } for(int i=0;i<a;i++) { int Spell=0; for(int j=0;j<a;j++) { if(i==j)continue; for(int k=0;k<100;k++) { if(strcmp(v1[i][k],v1[j][k])!=0) { Spell=max(Spell,k); //max判斷較大的節數 break; } } } cout<<Spell+1<<endl; } } } ``` ## 型態/型別轉換 ### 若A,B型態不同,則A,B型態較小者被轉換為較大者,再進行計算 ### 位階表 #### 小數最大 bool < char < int < long long ##### 如果只有一個無號數,有號數轉為無號數 ex: ```c strlen(str) //無號數 int a=-1; //有號數 if(a<strlen(str)) cout<<"有號數"<<endl; else cout<<"無號數"<<endl; //無號數 ``` # -----------------第6週------------------ ## [225-3n+1 Problem](https://neoj.sprout.tw/problem/225/) ```clike= #include <iostream> using namespace std; int san_n_jia_i(int n) //定義函數 { if(n==1) return n; else if(n%2==0) { n/=2; return n; } else { return 3*n+1; } } int main() { int n; while(cin>>n) cout<<san_n_jia_i(n); } ``` --- ## 修飾子 * ### unsigned • signed : 有正、負,用MSB分辨 • unsigned : 只有正數→上限變兩倍 • -(2^31)~(2^31)-1→0~(2^32) - 1 * ## Const • 避免不小心被更動 • 可用於參數的傳遞 * ## Static • 固定在記憶體中的變數 • 只宣告 / 初始化一次,程式執行期間都會存在 * 不隨函式結束而消失 → 統計