四年级学案:
一.作业点评:http://116.198.200.119:5000/homework_Show.asp?id=1212
题目:
1.打印字母图形
输入整数n (0<n<=26)
输入字母三角形。
如下样例
样例1:
输入:
4
输出:
A
BB
CCC
DDDD
样例2:
输入:
5
输出:
A
BB
CCC
DDDD
EEEEE
参考程序:
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("p1752.in","r",stdin);
freopen("p1752.out","w",stdout);
int n,i,j,k=65;
cin>>n;
for(i=1;i<=n;i++){
for(j=1;j<=i;j++)cout<<char(k);
k++;
cout<<endl;
}
fclose(stdin);
fclose(stdout);
return 0;
}
2.字符串首次出现某子串的位置
题目描述
输入2行字符串,要求第1行字符串在第2行字符串首次出现的位置。
样例:
输入
xl
kasxlsdxlg
输出
4
参考程序:
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("p1743.in","r",stdin);
freopen("p1743.out","w",stdout);
string a,b;
getline(cin,a);
getline(cin,b);
cout<<b.find(a)+1<<endl;
fclose(stdin);
fclose(stdout);
return 0;
}
3.字母字符个数
题目描述
输入一行字符,以#字符结束,要求输出其中为字母类型字符的个数,字母类型包括大小写字母字符。
输入
输入1行字符以#结束。
输出
输出1行,为1个整数,表示输入的字符中字母类型字符的个数。
样例输入
3sdA234d3Fs23sd#
输出
8
参考程序:
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("p1733.in","r",stdin);
freopen("p1733.out","w",stdout);
char s;int i,j,k=0;
while(s=getchar()) {
if (s=='#')break;
if (int(s)>=65&&int(s)<=90||int(s)>=97&&int(s)<=122)k++;
}
cout<<k<<endl;
fclose(stdin);
fclose(stdout);
return 0;
}
4.批改数学作业
题目描述
1年级的小明已经学到加法和减法了,现在有1道数学作业题,他算完了,请你根据他的作业判断是否正确,正确的请输出"yes",否则输出"no"。
输入
输入1行,为不超过100个字符的字符串,表示该数学作业,内有+或-以及=等符号,每个连续的数字串长度保证不超过8位。
输出
输出yes 或no
样例1:
输入
123+45=168
输出
yes
样例2:
输入
100-25=85
输出
no
参考程序:
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("p1746.in","r",stdin);
freopen("p1746.out","w",stdout);
string s,t;
cin>>s;
int m,n,k,i,j,a,b,c;
i=0;
while(s[i]>=48&&s[i]<=57)i++;
m=i;
n=s.find("=");
k=s.length();
t=s.substr(0,m) ;
a=atoi(t.c_str());
t=s.substr(m+1,n-m-1) ;
b=atoi(t.c_str());
t=s.substr(n+1,k-n-1) ;
c=atoi(t.c_str());
if(s[m]=='+'){
if(a+b==c)cout<<"yes";else cout<<"no";
}else{if(a-b==c)cout<<"yes";else cout<<"no";}
fclose(stdin);
fclose(stdout);
return 0;
}
二.作业:理解默写以上参考程序。
( ) |