* 期末考试 编程题#4:计算整数平方和(Coursera 程序设计与算法 专项课程3 C++程序设计 郭炜、刘家瑛;OpenJudge)

编程题#4:计算整数平方和

来源: 北京大学在线程序评测系统POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

总时间限制: 1000ms 内存限制: 1024kB

描述
下列程序每次读入一个整数N,若N为0则退出,否则输出N和N的平方。

#include <iostream>
using namespace std;
// 在此处补充你的代码
int main(int argc, char* argv[]) {
        CType obj;
        int n;
        cin>>n;
        while ( n ) {
                obj.setvalue(n);
                cout<<obj++<<" "<<obj<<endl;
                cin>>n;
        }
        return 0;
}

输入
K个整数。除最后一个数据外,其他数据均不为0。

输出
K-1行。第I行输出第I个输入数和它的平方。

样例输入

1 5 8 9 0

样例输出

1 1
5 25
8 64
9 81

程序解答:

#include <iostream>
using namespace std;

// 在此处补充你的代码
class CType{
    int num;
public:
    void setvalue(int n){
        num = n;
    }
    friend ostream& operator << (ostream& os, CType& a){  //此处必须为友元函数
        os << a.num;
        return os;
    }
    CType operator++(){
        //static CType tmp = CType();  //必须使用static变量,否则返回时内存就被释放了
        //static CType tmp = *this;
        static CType tmp;
        tmp.num = num;
        num *= num;
        return tmp;
    }
};

int main(int argc, char* argv[]) {
    CType obj;
    int n;
    cin >> n;
    while (n) {
        obj.setvalue(n);
        cout << obj++ << " " << obj << endl;
        cin >> n;
    }

    return 0;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++程序设计计算机科学和软件工程中非常重要的一个领域,许多大学和在线教育平台都提供与C++相关的课程。这些课程可以帮助学习者从基础到高级掌握C++编程技能。以下是一些常见的C++程序设计相关课程: 1. 初级C++课程:这些课程主要面向初学者,介绍了C++的基本语法、变量、数据类型、运算符、流程控制语句等基础知识。学习者将通过编写简单的程序来巩固所学内容。 2. 面向对象编程(OOP)课程:这些课程重点介绍面向对象编程的概念和技术,包括类、对象、封装、继承、多态等。学习者将学习如何使用C++实现面向对象的程序设计。 3. 数据结构和算法课程:这些课程讲解了常见的数据结构(如数组、链表、栈、队列、树等)和算法(如排序、搜索、图算法等),并通过C++语言实现。这些课程旨在帮助学习者理解和应用数据结构和算法来解决实际问题。 4. 高级C++课程:这些课程探讨了C++的高级主题,如模板、异常处理、多线程编程、STL(标准模板库)等。学习者将学习如何利用这些高级特性来编写更高效、可维护的C++程序。 除了传统的大学课程,许多在线教育平台也提供了丰富的C++课程资源,例如Coursera、Udemy、edX等。您可以根据自己的需求和学习进度选择适合的课程。另外,参与编程社区和讨论论坛也是很好的学习方式,可以与其他学习者交流经验和解决问题。希望这些信息对您有帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值