1.石头剪刀布问题——枚举的应用
enum play{a=-1,b,c}; int main(){ enum play overcome; int p,q; cin>>p>>q; if(p==q) overcome=b; else if(p==0&&q==2||p==1&&q==0||p==2&&p==1) overcome=c; else overcome=a; cout<<overcome; }2.单词计数
int main(){ char c[50]; gets(c); int n=strlen(c),a=1; for(int i=0;i<n;i++){ if(c[i]==' ') a++; } cout<<a; } #include <string> using namespace std; int main () { int count=0; string s; while(cin>>s) count++; cout<<count<<endl; return 0; #include < cmath > if(x<0) x=fabs(x); //绝对值 else if(x>=0&&x<2) x=sqrt(x+1); //平方根 else if(x>=2&&x<4) x=pow(x,5); //幂:x的5次方4.利用向量类模板——不确定数的个数
#include<vector> int main(){ int n,sum; cin>>n; vector<int> s; for(int i=1;i<=n;i++){ sum=0; for(int j=1;j<i;j++){ if(i%j==0) { sum=sum+j; s.push_back(j); } } if(sum==i) { cout<<i<<" its factors are "; for(vector<int>::iterator it=s.begin();it!=s.end();it++) cout<<*it<<" "; cout<<endl; } s.clear(); } }5.报数问题
int cir(int n,int m){ int p=0; for(int i=2;i<=n;i++) p=(p+m)%i; return p+1;