第四章 阅读程序
第一课 模拟策略
【NOIP2011】(累加)
例:
#include <iostream>
using namespace std;
int main(){
int i,n,m,ans;
cin>>n>>m;
i=n;
ans=0;
while (i<=m){
ans+=i;
i++;
}
cout<<ans<<endl;
return 0;
}
答案:× × √ √ B A
解析:
第二课 字符处理
【NOIP2009】(二分字符排序)
例:
#include <bits/stdc++.h>
using namespace std;
const int maxn=50;
void getnext(char str[]){
int l=strlen(str),i,j,k,temp;
k=l-2;
while (k>=0 && str[k]>str[k+1]) k--;
i=k+1;
while (i<l && str[i]>str[k]) i++;
temp=str[k];
str[k]=str[i-1];
str[i-1]=temp;
for (i=l-1;i>k;i--){
for (j=k+1;j<i;j++){
if (str[j]>str[j+1]){
temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
}
}
return ;
}
int main(){
char a[maxn];
int n;
cin>>a>>n;
while (n>0){
getnext(a);
n--;
}
cout<<a<<endl;
return 0;
}
答案:× √ √ √ A B
解析: