草庐IT

CPP2022-计算机类-期末考试

timberman666 2024-06-01 原文

 

 

 

6-1 判断素数

分数 5

全屏浏览题目

切换布局

作者 李国瑞

单位 东北大学秦皇岛分校

设计一个函数,判断输入数据是否为素数,返回bool类型结果。

函数接口定义:

 

bool prime(int num);

说明:num为正整数。

裁判测试程序样例:

 

#include <iostream> #include <cmath> using namespace std; bool prime(int num); int main() { int i; cin>>i; bool result=prime(i); cout<<result<<endl; return 0; } /* 请在这里填写答案 */

输入样例1:

5

输出样例1:

1

输入样例2:

8

输出样例2:

0
bool prime(int num)
{
    if(num==1)
    {
        return 0;
    }
    for(int i=2;i*i<=num;i++)
    {
        if(num%i==0)
        {
            return 0;
        }
    }
    return 1;
}

 

6-2 会员类实现

分数 5

全屏浏览题目

切换布局

作者 李国瑞

单位 东北大学秦皇岛分校

定义一个会员类Member,内有会员编号、会员名称、剩余金额三个数据成员。
请您帮助实现该类的两个成员函数:
①实现该类的构造函数用来初始化会员数据;
②实现会员消费函数:若剩余金额大于消费金额则将剩余金额减去消费金额并输出计算结果(保留2位小数),否则输出“ERROR!”信息。

Member类成员函数接口定义:

 

Member(int mid, string name, double money); void consume(double con);

裁判测试程序样例:

 

#include <iostream> #include <iomanip> #include <string> using namespace std; class Member { public: Member(int mid, string name, double money); void consume(double con); private: int MID; string Name; double Money; }; /* 你的代码将被嵌在这里 */ int main() { int mid; //mid表示用户编号 string name; //name表示用户名称 double money; //money表示剩余金额 double c; //c表示消费金额 cin>>mid>>name>>money; Member m(mid,name,money); cin>>c; m.consume(c); return 0; }

输入样例1:

101 Bob 2000
500

输出样例1:

1500.00

输入样例2:

102 Alice 1000
1200

输出样例2:

ERROR!

 

Member::Member(int mid, string name, double money)
{
    MID=mid;
    Name=name;
    Money=money;
}
void Member::consume(double con)
{
    if(con<=Money)
    {
        cout<<fixed<<setprecision(2)<<Money-con<<endl;
    }
    else
    {
        cout<<"ERROR!"<<endl;
    }
}

7-1 符号函数

分数 10

全屏浏览题目

切换布局

作者 李国瑞

单位 东北大学秦皇岛分校

按照要求计算下列符号函数的值。

sign(x)=⎩⎨⎧​10−1​(x>0)(x=0)(x<0)​

输入格式:

在一行内输入实数型自变量x的值。

输出格式:

在一行中输出A+B的值。

输入样例:

在这里给出一组输入。例如:

2.5

输出样例:

在这里给出相应的输出。例如:

sign=1
#include<bits/stdc++.h>
using namespace std;
int main()
{
    double x;
    cin>>x;
    if(x>0)
    {
        cout<<"sign="<<1;
    }
    else if(x==0)
    {
        cout<<"sign="<<0;
    }
    else
    {
        cout<<"sign="<<-1;
    }
    return 0;
}

 

7-2 斐波那契数列第n项
分数 10
作者 李国瑞
单位 东北大学秦皇岛分校
斐波那契数列的第1项和第2项都是1,此后各项满足F 
n
​
 =F 
n−1
​
 +F 
n−2
​
 。

编写程序,输入正整数n,输出斐波那契数列第n项。

输入格式:
在一行中输入不超过100的正整数n。

输出格式:
在一行中输出斐波那契数列第n项的值。

输入样例:
6
输出样例:
8
#include<bitsdc++.h>
using namespace std;

int main()
{
    int n;
    cin>>n;
    int f1[100],f2[100],f[100];
    f1[0]=1;
    f2[0]=1;
    
    for(int i=1; i<=99; i++)
    {
        f1[i]=f2[i]=0; //数组清零
    }
    if (n<=2) 
    {
        cout<<1;
        return 0;
    }
    
    for(int i=3; i<=n ; i++)
    {
        //f=f1+f2;
        int carry=0;
        for(int i=0; i<=99; i++)
        {
            carry = f1[i]+f2[i]+carry; //注意进位处理
            f[i] = carry %10;
            carry = carry /10;
        }
        
        //f1=f2,f2=f
        for(int i=0; i<=99; i++)
        {
            f1[i]=f2[i];
            f2[i]=f[i];            
        }
    }
    
    //数组倒着找第一个不为零的位
    int pos = 99;
    while(f[pos]==0)
    {
        pos--;
    }
    
    //倒着输出
    for(int i=pos; i>=0; i--)
    {
        cout<<f[i];
    }
    
    return 0;
}

 

7-3 求500以内各位数字之和为指定数值的所有正整数的平均值

分数 10

全屏浏览题目

切换布局

作者 李国瑞

单位 东北大学秦皇岛分校

给定一个正整数n,判断整数m(1≤m≤500)的各位数字之和s是否为给定的值n,如果s==n,则m为满足条件的数。

求在1≤m≤500范围内所有满足上述条件的整数m的平均值。

输入格式:

在一行输入指定正整数n。

输出格式:

在一行内输出计算得到的平均值(结果保留2位小数)。

输入样例:

12

输出样例:

268.19

 

#include<bits/stdc++.h>
using namespace std;
bool check(int n,int num)
{
    int temp=num,ans=0;
    while(temp)
    {
        ans=temp%10+ans;
        temp=temp/10;
    }
    if(ans==n)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int main()
{
    int n,cnt=0;
    double sum=0;
    cin>>n;
    for(int i=1;i<=500;i++)
    {
        if(check(n,i))
        {
            sum=sum+i;
            cnt++;
        }
    }
    cout<<fixed<<setprecision(2)<<sum/cnt<<endl;
    return 0;
}

有关CPP2022-计算机类-期末考试的更多相关文章

  1. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  2. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  3. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  4. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  5. arrays - 计算数组中的匹配元素 - 2

    给定两个大小相等的数组,如何找到不考虑位置的匹配元素的数量?例如:[0,0,5]和[0,5,5]将返回2的匹配项,因为有一个0和一个5共同;[1,0,0,3]和[0,0,1,4]将返回3的匹配项,因为0有两场,1有一场;[1,2,2,3]和[1,2,3,4]将返回3的匹配项。我尝试了很多想法,但它们都变得相当粗糙和令人费解。我猜想有一些不错的Ruby习惯用法,或者可能是一个正则表达式,可以很好地回答这个解决方案。 最佳答案 您可以使用count完成它:a.count{|e|index=b.index(e)andb.delete_at

  6. ruby-on-rails - 如何计算 Ruby/Rails 中 JSON 对象的数量 - 2

    Ruby中如何“一般地”计算以下格式(有根、无根)的JSON对象的数量?一般来说,我的意思是元素可能不同(例如“标题”被称为其他东西)。没有根:{[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]}根包裹:{"posts":[{"title":"Post1","body":"Hello!"},{"title":"Post2","body":"Goodbye!"}]} 最佳答案 首先,withoutroot代码不是有效的json格式。它将没有包

  7. ruby - 如何计算自 Ruby 中给定日期以来的周数? - 2

    目标我正在尝试计算自给定日期以来周的距离,而无需跳过任何步骤。我更喜欢用普通的Ruby来做,但ActiveSupport无疑是一个可以接受的选择。我的代码我写了以下内容,这似乎可行,但对我来说似乎还有很长的路要走。require'date'DAYS_IN_WEEK=7.0defweeks_sincedate_stringdate=Date.parsedate_stringdays=Date.today-dateweeks=days/DAYS_IN_WEEKweeks.round2endweeks_since'2015-06-15'#=>32.57ActiveSupport的#weeks

  8. 映宇宙2022年营收63亿元:同比下降三成,毛利率提升4.3个百分点 - 2

    3月26日,映宇宙(HK:03700,即“映客”)发布截至2022年12月31日的2022年度业绩财务报告。财报显示,映宇宙2022年的总营收为63.19亿元,较2021年同期的91.76亿元下降31.1%。2022年,映宇宙的经营亏损为4698.7万元,2021年同期则为净利润4.57亿元;期内亏损(净亏损)为1.68亿元,2021年同期的净利润为4.33亿元;非国际财务报告准则经调整净利润为3.88亿元,2021年同期为4.82亿元,同比下降19.6%。 映宇宙在财报中表示,收入减少主要是由于行业竞争加剧,该集团对旗下产品采取更为谨慎的运营策略以应对市场变化。不过,映宇宙的毛利率则有所提升

  9. 最新版人脸识别小程序 图片识别 生成二维码签到 地图上选点进行位置签到 计算签到距离 课程会议活动打卡日常考勤 上课签到打卡考勤口令签到 - 2

    技术选型1,前端小程序原生MINA框架cssJavaScriptWxml2,管理后台云开发Cms内容管理系统web网页3,数据后台小程序云开发云函数云开发数据库(基于MongoDB)云存储4,人脸识别算法基于百度智能云实现人脸识别一,用户端效果图预览老规矩我们先来看效果图,如果效果图符合你的需求,就继续往下看,如果不符合你的需求,可以跳过。1-1,登录注册页可以看到登录页有注册入口,注册页如下我们的注册,需要管理员审核,审核通过后才可以正常登录使用小程序1-2,个人中心页登录成功以后,我们会进入个人中心页我们在个人中心页可以注册人脸,因为我们做人脸识别签到,需要先注册人脸才可以进行人脸比对,进

  10. ruby - 如何计算两个字符串共有的字符数? - 2

    如何计算两个字符串之间的字符交集?例如(假设我们有一个名为String.intersection的方法):"abc".intersection("ab")=2"hello".intersection("hallo")=4好的,男孩女孩们,感谢你们的大量反馈。更多示例:"aaa".intersection("a")=1"foo".intersection("bar")=0"abc".intersection("bc")=2"abc".intersection("ac")=2"abba".intersection("aa")=2一些补充说明:维基百科定义intersection如下:Int

随机推荐