- 求积
#include <iostream>
using namespace std;
int main()
{
int n; //n控制输入的组数
cin>>n;
int a,b,i;
int v[n];
for(i=0;i<n;i++)
{
cin>>a;
cin>>b;
v[i]=a*b;
}
for(i=0;i<n;i++)
{
cout<<v[i]<<endl;
}
return 0;
}
- 阶乘
#include <iostream>
using namespace std;
int fac(int n)
{
int ans=1;
for(int i=1;i<=n;i++)
{
ans=ans*i;
}
return ans;
}
int main()
{
int n,i;
cin>>n;
int ans[n],v[n];
for(i=0;i<n;i++)
{
cin>>v[i];
ans[i]=fac(v[i]);
}
for(i=0;i<n;i++)
{
cout<<ans[i]<<andl;
}
return 0;
}
- 求C(n,m)
#include <iostream>
using namespace std;
//求阶乘暴力算法会很快溢出…
// 故使用递归算法C(n,m)=C(n-1,m-1)+C(n-1,m)
int combination(int n,int m)
{
if(n==m||m==0)
return 1;
else
return combination(n-1,m-1)+combination(n-1,m);
}
int main()
{
int n,m;
cin>>n>>m;
cout<<combination(n,m);
return 0;
}
- 判断“回文
//出现的问题:输入的行数总被算作st的一行,原因是cin 后使用了getline,getline把cin后敲的回车也算进去,因此要在cin后添加cin.get(); 来处理这个问题 #include <iostream> #include <cstdio> #include <cstring> using namespace std; int len; bool flag; void Palin(char *st) { flag=true; len=strlen(st); for(int i=0;i<len/2;i++) { if(st[i]!=st[len-i-1]) { flag=false; break; } } if(flag) cout<<"Yes"<<endl; else cout<<"No"<<endl; } int main() { int n,i; cin>>n; char st[n][20]; cin.get(); //补上这一行 for(i=0;i<n;i++) cin.getline(st[i],20); for(i=0;i<n;i++) Palin(st[i]); return 0; }
- 以行为单位,多行数据的排序
#include <iostream>
using namespace std;
void BubbleSort(int v[],int m)
{
int temp;
for(int i=0;i<m;i++)
for(int j=m-1;j>i;j--)
if(v[j-1]>v[j])
{
temp=v[j-1];
v[j-1]=v[j];
v[j]=temp;
}
}
int main()
{
int n,m;
cin>>n>>m;
int v[n][m];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>v[i][j];
for(int i=0;i<n;i++)
BubbleSort(v[i],m);
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
cout<<v[i][j]<<' ';
cout<<endl;
}
return 0;
}
- 括号匹配
#include <iostream> #include <stack> #include <cstring> using namespace std; stack <char> Stack; int len,i; bool flag; bool JudgeMatch(char *str) { flag=true; len=strlen(str); for(i=0;i<len;i++) { if(str[i]=='{'||str[i]=='['||str[i]=='(') Stack.push(str[i]); else if((str[i]='}'&&Stack.top()=='{')||(str[i]=']'&&Stack.top()=='[')||(str[i]=')'&&Stack.top()=='(')) Stack.pop(); else continue; } if(!Stack.empty()) flag=false; return flag; } int main() { int n,i; cin>>n; cin.get(); char str[n][20]; for(i=0;i<n;i++) cin.getline(str[i],20); for(i=0;i<n;i++) if(JudgeMatch(str[i])) cout<<"yes"<<endl; else cout<<"No"<<endl; return 0; }
٩(๑>◡<๑)۶