这题还好,就是一开始我不知道怎么让string类清空,用了string的clear函数就可以完成这个操作了,这里的情况是指不留字符,空字符也没有
满分代码如下
#include <iostream>
#include <memory.h>
using namespace std;
int n;
string a[201];
string b[201];
int fun(int x){
for(int i=0;i<=x;i++){
if(i==0){
a[i]="sin(";
}
else if(i!=x&&i%2!=0){
a[i]+=a[i-1];
a[i]+=(char)i+48;
a[i]+='-';
a[i]+="sin(";
}
else if(i!=x&&i%2==0){
a[i]+=a[i-1];
a[i]+=(char)i+48;
a[i]+='+';
a[i]+="sin(";
}
else if(i==x){
a[i]+=a[i-1];
a[i]+=(char)i+48;
for(int j=1;j<=x;j++){
a[i]+=')';
}
}
}
}
void clear(int x){
for(int i=0;i<=x;i++){
a[i].clear();
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++){
fun(i);
b[i]=a[i];
clear(i);
}
for(int i=0;i<=n;i++){
if(i==0){
for(int j=1;j<n;j++)
cout<<"(";
}
else if(i!=n){
cout<<b[i]<<"+"<<n-i+1<<")";
}
else cout<<b[i]<<"+1";
}
return 0;
}