字母頻率
巴斯卡三角形
百數最小值所在地
列印前N個質數
費式數列陣列
轉轉算2的冪次方
百數亂排
平面幾何:點到線之距離
複數乘法 複數加法
巴斯卡三角形
百數最小值所在地
列印前N個質數
費式數列陣列
轉轉算2的冪次方
百數亂排
平面幾何:點到線之距離
複數乘法 複數加法
字母頻率
#include<iostream>
using namespace std;
int main(){
int l[26],s[26],i;
for(i=0;i<26;i++){
l[i]=0;
s[i]=0;
}
char n[500];
cout<<"Input:"<<endl;
cin.getline(n,500);
for(i=0;i<strlen(n);i++){
if(n[i]>='A'&& n[i]<='Z') l [ n[i]-'A' ]++;
else if(n[i]>='a')s [ n[i]-'a' ]++;
}
for(i=0;i<26;i++){
if(l[i]!=0)cout<<char('A'+i)<<":"<<l[i]<<endl;
}
for(i=0;i<26;i++){
if(s[i]!=0)cout<<char('a'+i)<<":"<<s[i]<<endl;
}
}
沒開string版本~ (乖乖照老師進度 = w =)
英文字母共52個所以開52個變數~
500隨便打的~反正夠裝就好
很浪費的寫法~不過簡單
using namespace std;
int main(){
int l[26],s[26],i;
for(i=0;i<26;i++){
l[i]=0;
s[i]=0;
}
char n[500];
cout<<"Input:"<<endl;
cin.getline(n,500);
for(i=0;i<strlen(n);i++){
if(n[i]>='A'&& n[i]<='Z') l [ n[i]-'A' ]++;
else if(n[i]>='a')s [ n[i]-'a' ]++;
}
for(i=0;i<26;i++){
if(l[i]!=0)cout<<char('A'+i)<<":"<<l[i]<<endl;
}
for(i=0;i<26;i++){
if(s[i]!=0)cout<<char('a'+i)<<":"<<s[i]<<endl;
}
}
沒開string版本~ (乖乖照老師進度 = w =)
英文字母共52個所以開52個變數~
500隨便打的~反正夠裝就好
很浪費的寫法~不過簡單
巴斯卡三角形
#include<iostream>
using namespace std;
int c(int n,int r){
int p=1;
for(int i=1;i<=r;i++)
p=p*(n-i+1)/i;
return p;
}
int main(){
int i,j,n;
cout<<"N="<<endl;
cin>>n;
for(i=0;i<=n;i++){
for(j=0;j<=i;j++){
cout<<" "<<c(i,j);
}
cout<<endl;
}
......這題是考巴斯卡三角形是啥
一樣是沒效率的寫法~懶人用
using namespace std;
int c(int n,int r){
int p=1;
for(int i=1;i<=r;i++)
p=p*(n-i+1)/i;
return p;
}
int main(){
int i,j,n;
cout<<"N="<<endl;
cin>>n;
for(i=0;i<=n;i++){
for(j=0;j<=i;j++){
cout<<" "<<c(i,j);
}
cout<<endl;
}
......這題是考巴斯卡三角形是啥
一樣是沒效率的寫法~懶人用
百數最小值所在地
#include<iostream>
using namespace std;
int main(){
int i,n,ans=0,min=INT_MAX;
cout<<"Input 100 numbers:"<<endl;
for(i=0;i<100;i++){
cin>>n;
if(n<min){
ans=i;
min=n;
}
}
cout<<ans;
}
根本不用開陣列
using namespace std;
int main(){
int i,n,ans=0,min=INT_MAX;
cout<<"Input 100 numbers:"<<endl;
for(i=0;i<100;i++){
cin>>n;
if(n<min){
ans=i;
min=n;
}
}
cout<<ans;
}
根本不用開陣列
列印前N個質數
#include<iostream>
using namespace std;
bool x(int n){
for(int i=2;i<n;i++){
if(n%i==0)return false;
}
return true;
}
int main(){
int i,n,j=0;
cout<<"N="<<endl;
cin>>n;
for(i=2; j<n ;i++){
if(x(i)){
j++;
cout<<" "<<i;
}
}
}
列出一個質數才加一
using namespace std;
bool x(int n){
for(int i=2;i<n;i++){
if(n%i==0)return false;
}
return true;
}
int main(){
int i,n,j=0;
cout<<"N="<<endl;
cin>>n;
for(i=2; j<n ;i++){
if(x(i)){
j++;
cout<<" "<<i;
}
}
}
列出一個質數才加一
費式數列陣列
#include<iostream>
using namespace std;
int main(){
int i,f[500],n;
f[0]=0;
f[1]=1;
cout<<"n:"<<endl;
cin>>n;
for(i=2;i<=n;i++){
f[i]=f[i-1]+f[i-2];
}
for(i=n;i>=0;i--){
cout<<endl<<"f("<<i<<")="<<f[i];
}
}
.....題目說陣列我才用的~最後還要倒著印根本沒比較方便
using namespace std;
int main(){
int i,f[500],n;
f[0]=0;
f[1]=1;
cout<<"n:"<<endl;
cin>>n;
for(i=2;i<=n;i++){
f[i]=f[i-1]+f[i-2];
}
for(i=n;i>=0;i--){
cout<<endl<<"f("<<i<<")="<<f[i];
}
}
.....題目說陣列我才用的~最後還要倒著印根本沒比較方便
轉轉算2的冪次方
#include<iostream>
using namespace std;
int main(){
int i,ans=1,n;
cout<<"n="<<endl;
cin>>n;
for(i=1;i<=n;i++)ans*=2;
cout<<ans;
}
XD聽不懂所以直接慢慢乘
using namespace std;
int main(){
int i,ans=1,n;
cout<<"n="<<endl;
cin>>n;
for(i=1;i<=n;i++)ans*=2;
cout<<ans;
}
XD聽不懂所以直接慢慢乘
百數亂排
#include<iostream>
using namespace std;
int main(){
int i,n[100];
cout<<"Input 100 numbers:"<<endl;
for(i=0;i<100;i++)
cin>>n[i];
for(i=0;i<100;i++)
swap(n[rand()%100],n[rand()%100]);
for(i=0;i<100;i++)
cout<<" "<<n[i];
}
using namespace std;
int main(){
int i,n[100];
cout<<"Input 100 numbers:"<<endl;
for(i=0;i<100;i++)
cin>>n[i];
for(i=0;i<100;i++)
swap(n[rand()%100],n[rand()%100]);
for(i=0;i<100;i++)
cout<<" "<<n[i];
}
平面幾何:點到線之距離
#include<iostream>
#include<cmath>
using namespace std;
int main(){
double x,y,a,b,c;
cout<<"請輸入一個點(x,y)之x與y:"<<endl;
cin>>x>>y;
cout<<"請輸入一條線 Ax+By=C 之 A,B,C:"<<endl;
cin>>a>>b>>c;
cout<<"點到線的距離為"<<abs(a*x+b*y-c)/sqrt(a*a+b*b);
}
#include<cmath>
using namespace std;
int main(){
double x,y,a,b,c;
cout<<"請輸入一個點(x,y)之x與y:"<<endl;
cin>>x>>y;
cout<<"請輸入一條線 Ax+By=C 之 A,B,C:"<<endl;
cin>>a>>b>>c;
cout<<"點到線的距離為"<<abs(a*x+b*y-c)/sqrt(a*a+b*b);
}
複數乘法
#include<iostream>
using namespace std;
int main(){
double a,b,c,d;
cout<<"請輸入一個複數 a+bi 的 a 及 b"<<endl;
cin>>a>>b;
cout<<"請輸入一個複數 c+di 的 c 及 d"<<endl;
cin>>c>>d;
cout<<"兩複數之積為 ";
if(a*c-b*d==0)cout<<a*d+b*c<<"i";
else if(a*d+b*c>0)cout<<a*c-b*d<<"+"<<a*d+b*c<<"i";
else cout<<a*c-b*d<<a*d+b*c<<"i";
}
using namespace std;
int main(){
double a,b,c,d;
cout<<"請輸入一個複數 a+bi 的 a 及 b"<<endl;
cin>>a>>b;
cout<<"請輸入一個複數 c+di 的 c 及 d"<<endl;
cin>>c>>d;
cout<<"兩複數之積為 ";
if(a*c-b*d==0)cout<<a*d+b*c<<"i";
else if(a*d+b*c>0)cout<<a*c-b*d<<"+"<<a*d+b*c<<"i";
else cout<<a*c-b*d<<a*d+b*c<<"i";
}
複數加法
#include<iostream>
using namespace std;
int main(){
double a,b,c,d;
cout<<"請輸入一個複數 a+bi 的 a 及 b"<<endl;
cin>>a>>b;
cout<<"請輸入一個複數 c+di 的 c 及 d"<<endl;
cin>>c>>d;
cout<<"兩複數之和為 ";
if(b+d==0)cout<<a+c;
else if(b+d>0)cout<<a+c<<"+"<<b+d<<"i";
else cout<<a+c<<d+b<<"i";
}
複數題目的測資都沒有完全~所以好像判斷兩個 if 就會過
(我覺得要三個說~前後為0各一後面為+再一個)
using namespace std;
int main(){
double a,b,c,d;
cout<<"請輸入一個複數 a+bi 的 a 及 b"<<endl;
cin>>a>>b;
cout<<"請輸入一個複數 c+di 的 c 及 d"<<endl;
cin>>c>>d;
cout<<"兩複數之和為 ";
if(b+d==0)cout<<a+c;
else if(b+d>0)cout<<a+c<<"+"<<b+d<<"i";
else cout<<a+c<<d+b<<"i";
}
複數題目的測資都沒有完全~所以好像判斷兩個 if 就會過
(我覺得要三個說~前後為0各一後面為+再一個)