Problem01
题目描述:
输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
过程分析:很简单的一道题目 只许用if语句,然后将各种情况都写出就可以 ,注意定义和输入,符号较多,需谨慎。
代码:
#include<stdio.h>
int main()
{
int score;
while(~scanf("%d",&score))
{
if(score>=90&&score<=100)
printf("A\n");
if(score>=80&&score<90)
printf("B\n");
if(score>=70&&score<80)
printf("C\n");
if(score>=60&&score<70)
printf("D\n");
if(score>=0&&score<60)
printf("E\n");
if(score<0||score>100)
printf("Score is error!\n");
}
return 0;
}
Problem2
题目描述“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
思路:循环遍历,分离各位数,输出满足条件的数据。
.注意事项:在最后一个数据后边不能有空格,否则会PE。应将最后一个数据单独处理。
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int p[1001];
int main(){
int b=0,c=0,d=0,m,n,s=0;
while(cin>>m>>n){
s=0;
for(int a=m;a<=n;a++){
b=a/100;
c=a/10%10;
d=a%10;
if(a==b*b*b+c*c*c+d*d*d)p[++s]=a;
}
if(s==0)cout<<"no"<<endl;
else
for(int i=1;i<=s;i++){
if (i==s)cout<<p[i]<<endl;
else cout<<p[i]<<" ";
}
}
return 0;
}
problem3
题目描述:给你n个整数,求他们中所有奇数的乘积
输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数
思路:先将一组数据中的奇数给选出来,然后利用while语句for循环语句。
代码:#include<stdio.h>
int main()
{
int i,n,sum,p;
while(~scanf("%d",&n))
{sum=1;
for(i=0;i<n;i++)
{
scanf("%d",&p);
if(p%2==1)
sum*=p;
}
printf("%d\n",sum);
}
return 0;
}
Problem4
题目:
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。
思路:
核心在于判断素数,可用循环不整除的方法判断。
代码:
#include <iostream>