Boing777_300er @ 2024-06-27 18:31:50
到底怎么写呢?对于一个二级 82 分的三年级学生,给个三级的做法不过分吧.(后天就要考gesp三级C++)
by ZMQ_Ink6556 @ 2024-06-27 19:23:20
@Boing777_300er 自己找:here。虽然我
by ZMQ_Ink6556 @ 2024-06-27 19:25:51
Sorry,看错题了。
这道题你可以尝试分几步做。
by Tomorrow_YYX @ 2024-06-27 20:17:30
@Boing777_300er 一种三级内的做法,希望对你有帮助。不懂就问哈。
PS:我有一位故人现在上初一,学OI不到两年。他叫OldDriverTree
#include<bits/stdc++.h>
using namespace std;
int n,cnt,ans;
char duru[105];
char jiance[70];
char zhengque[10][15];
bool f;
int zhonglei[5],ceshi1,ceshi2;
int main()
{
cin>>duru;
n=strlen(duru);
for(int i=1;i<=26;++i)jiance[i]='a'-1+i;
for(int i=27;i<=52;++i)jiance[i]='A'-1+i-26;
for(int i=53;i<=62;++i)jiance[i]='0'-1+i-52;
jiance[63]='!';jiance[64]='@';jiance[65]='#';jiance[66]='$';
for(int i=0;i<n;++i)
{
if(duru[i]==',')
{
if(cnt>=6&&cnt<=12)
{
ceshi1=zhonglei[1]+zhonglei[2]+zhonglei[3];
ceshi2=zhonglei[4];
if(ceshi1>=2&&ceshi2>=1)
{
++ans;
int changdu=0;
for(int j=i-cnt;j<i;++j)zhengque[ans][++changdu]=duru[j];
zhengque[ans][0]=changdu;
}
}
cnt=0;
zhonglei[1]=zhonglei[2]=zhonglei[3]=zhonglei[4]=0;
}
else
if(cnt==-1)continue;
else
{
f=0;
for(int j=1;j<=66;++j)
if(duru[i]==jiance[j])
{
f=1;
if(j<=26)zhonglei[1]=1;
else if(j<=52)zhonglei[2]=1;
else if(j<=62)zhonglei[3]=1;
else zhonglei[4]=1;
break;
}
if(f)++cnt; else cnt=-1;
}
}
for(int i=1;i<=ans;++i)
{
for(int j=1;j<=zhengque[i][0];++j)cout<<zhengque[i][j];
cout<<"\n";
}
return 0;
}
by OldDriverTree @ 2024-06-27 20:24:49
@yuyongxin 不是,我开学才初一啊
by Boing777_300er @ 2024-06-28 08:57:51
@yuyongxin 我才三年级,看不懂(二级考了两次,第一次 52 分)
by Tomorrow_YYX @ 2024-06-28 09:01:32
@Boing777_300er 你总不能数组都不懂吧nt
by Boing777_300er @ 2024-06-28 09:12:47
@yuyongxin 我懂,但不全懂
by Tomorrow_YYX @ 2024-06-28 09:44:03
@Boing777_300er 这边建议你先把基础学懂再去考
by Boing777_300er @ 2024-06-28 10:30:13
@yuyongxin 已经报名了,明天就考.大佬,带我复习一下吧!
by Boing777_300er @ 2024-06-28 10:34:04
@zhangmoqing 3Q