ytu 1057: 输入两个整数,求他们相除的余数(带参的宏 + 模板函数 练习)
1057: 输入两个整数,求他们相除的余数
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 177 Solved: 136
[Submit][Status][Web Board]
Description
输入两个整数,求他们相除的余数。用带参的宏或模板函数来实现,编程序。
Input
两个短整型数a,b
两个长整型数c,d
Output
a/b的余数
c/d的余数
Sample Input
10 9
100000000 999999
Sample Output
1
100
HINT
主函数已给定如下,提交时不需要包含,会自动添加到程序尾部
/* C++代码 */
int main()
{
short int i1,i2;
long l1,l2;
cin>>i1>>i2;
cout<<mod(i1,i2)<<endl;
cin>>l1>>l2;
cout<<mod(l1,l2)<<endl;
return 0;
}
Source
水题。
根据题目可只有两种方法,分别是练习带参的宏,模板函数。
在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。 “define”为宏定义命令。
带参的宏 - AC代码:
1 #include <iostream>
2 #define mod(x,y) x%y //带参的宏定义
3 using namespace std;
4
5 int main()
6 {
7 short int i1,i2;
8 long l1,l2;
9 cin>>i1>>i2;
10 cout<<mod(i1,i2)<<endl;
11 cin>>l1>>l2;
12 cout<<mod(l1,l2)<<endl;
13 return 0;
14 }
模板函数 - AC代码:
1 #include <iostream>
2 using namespace std;
3
4 template <class T> //实现模板函数
5 T mod(T x,T y)
6 {
7 return x%y;
8 }
9
10 int main()
11 {
12 short int i1,i2;
13 long l1,l2;
14 cin>>i1>>i2;
15 cout<<mod(i1,i2)<<endl;
16 cin>>l1>>l2;
17 cout<<mod(l1,l2)<<endl;
18 return 0;
19 }
Freecode : www.cnblogs.com/yym2013