编程题#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
1 #include <iostream> 2 using namespace std; 3 // 在此处补充你的代码 4 class CType { 5 public: 6 int value; 7 CType():value(0) {}; 8 void setvalue(int n) { 9 value = n; 10 } 11 //必须使用static变量 12 CType &operator++(int) { 13 static CType tmp = CType(); 14 tmp.value = value; 15 value *= value; 16 return tmp; 17 } 18 19 friend ostream & operator<<(ostream &o, CType &cType) { 20 o<<cType.value; 21 return o; 22 } 23 24 }; 25 int main(int argc, char* argv[]) { 26 CType obj; 27 int n; 28 cin>>n; 29 while ( n ) { 30 obj.setvalue(n); 31 cout<<obj++<<" "<<obj<<endl; 32 cin>>n; 33 } 34 return 0; 35 }