程序设计实验报告

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>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值