Problem 1
1. 题意:将输入的整数转化为相应等级。
2. 解题思路:通过题意可知,此题采用的是条件语句。
3. 代码
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(n>=90 && n<=100)
cout<<"A"<<endl;
else if(n>=80 && n<=89)
cout<<"B"<<endl;
else if(n>=70 && n<=79)
cout<<"C"<<endl;
else if(n>=60 && n<=69)
cout<<"D"<<endl;
else if(n>=0 && n<=59)
cout<<"E"<<endl;
else
cout<<"Score is error!"<<endl;
}
return 0;
}
4. 总结:此题难度不大,主要就是注意使用while多组输入,其次就是输出时用双引号将输出内容括起。
Problem 2
1. 题意:求出n个整数中所有奇数的乘积
2. 解题思路:首先,n个整数的输入需要用到for循环语句,其次,用if语句判断是否为奇数。
3. 代码
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n,m,i,s;
while(cin>>n)
{
s=1;
for(i=1;i<=n;i++)
{
cin>>m;
if(m%2!=0)
s*=m;
}
cout<<s<<endl;
}
return 0;
}
4. 总结:此题难度不大,为简单的条件语句和循环语句的混合使用。
Problem 3
1. 题意:在一个按顺序排列的数列中插入一个整数,并保证新的数列依然有序。
2. 解题思路:输入一个有序数列,从a[1]到a[n],将要插入的整数赋值给a[n+1],组合成一个新数列,然后将新数列通过sort函数重新排列。
3. 代码
#include<iostream>
#include<algorithm>
int a[110];
using namespace std;
int main()
{
int n,m,i;
while(cin>>n>>m)
{
if(n==0&&m==0) break;
for(i=0;i<n;i++)
{
cin>>a[i];
}
a[n]=m;
sort(a,a+n+1);
for(i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<a[n]<<endl;
}
return 0;
}
4. 总结:首先通过while语句实现多组数据的输入,其次要注意新旧数列输入时的变量i的范围,最后,注意输出时的空格。
Problem 4
1. 题意:A,B分别包含着代表时分秒的三个整数,将其输入,并将A,B中代表时分秒的数的和分别求出,并按照时间的进制规则将其输出。
2. 解题思路:用循环语句将A,B中的数输入,按照时间单位的进制规则用if条件语句列清需要注意的进位条件。
3. 代码
#include<iostream>
using namespace std;
int main()
{
int N,i;
long int AH,AM,AS,BH,BM,BS,SH,SM,SS;
while(cin>>N)
{
SH,SM,SS=0;
for(i=1;i<=N;i++)
{
cin>>AH>>