7-1 Camp0201-算术运算符
作者 王和兴
单位 东北大学秦皇岛分校
本题输入两个整数a和b,请计算a+b,a-c,a*b,a/b和a%b的值。
输入格式:
在一行中给出2个整数a和b。
输出格式:
分五行分别输出对应的值。
输入样例:
在这里给出一组输入。例如:
3 2
输出样例:
3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1
3 % 2 = 1
解答:
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a<<" + "<<b<<" = "<<a+b<<endl;
cout<<a<<" - "<<b<<" = "<<a-b<<endl;
cout<<a<<" * "<<b<<" = "<<a*b<<endl;
cout<<a<<" / "<<b<<" = "<<a/b<<endl;
cout<<a<<" % "<<b<<" = "<<a%b<<endl;
return 0;
}
7-2 Camp0202-/运算符
作者 王和兴
单位 东北大学秦皇岛分校
给出两个float型的变量a和b,请计算a/b的值。
输入格式:
在一行中给出2个浮点数a和b。
输出格式:
在一行中输出a/b的值。
输入样例:
3.0 2.0
输出样例:
在这里给出相应的输出。例如:
1.5
解答:
#include <iostream>
using namespace std;
int main()
{
float a,b;
cin>>a>>b;
cout<<a/b;
return 0;
}
7-3 Camp0203-再来/运算符
作者 王和兴
单位 东北大学秦皇岛分校
给出两个整型变量a和b,请计算a整除以b得到的商以及正常进行除法a÷b的值。
输入格式:
在一行中给出2个整数a和b。
输出格式:
分为两行。
第一行输出a/b的值。
第二行输出a÷b的值。
输入样例:
3 2
输出样例:
在这里给出相应的输出。例如:
3 / 2 = 1
3 ÷ 2 = 1.5
解答:
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
double c = (double)a;
double d = (double)b;
cout<<a<<" / "<<b<<" = "<<a/b<<endl;
cout<<a<<" ÷ "<<b<<" = "<<c/d<<endl;
return 0;
}
7-4 Camp0204-关系运算符
作者 王和兴
单位 东北大学秦皇岛分校
给出两个整型变量a和b,利用关系运算符判断a与b之间的关系是否成立。
输入格式:
在一行中给出2个整数a和b。
输出格式:
请参考样例输出。
首先输出读入的变量的值,此后根据运算关系分为多行输出,如果关系成立,输出TRUE,否则输出FALSE。其中:
第一行输出a==b的判断结果。
第二行输出a!=b的判断结果。
第三行输出a>b的判断结果。
第四行输出a<b的判断结果。
第五行输出a≥b的判断结果。
第六行输出a≤b的判断结果。
输入样例:
3 2
输出样例:
a = 3, b = 2
a == b? FALSE
a != b? TRUE
a > b? TRUE
a < b? FALSE
a >= b? TRUE
a <= b? FALSE
解答:
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << "a" << " = " << a << "," << " b" << " = " << b << endl;
cout << "a == b? " << (a == b ? "TRUE" : "FALSE") << endl;
cout << "a != b? " << (a != b ? "TRUE" : "FALSE") << endl;
cout << "a > b? " << (a > b ? "TRUE" : "FALSE") << endl;
cout << "a < b? " << (a < b ? "TRUE" : "FALSE") << endl;
cout << "a >= b? " << (a >= b ? "TRUE" : "FALSE") << endl;
cout << "a <= b? " << (a <= b ? "TRUE" : "FALSE");
return 0;
}
7-5 Camp0205-逻辑运算符
作者 王和兴
单位 东北大学秦皇岛分校
给出三个整型变量a、b和c,判断下列的逻辑关系是否成立。
① a>b 且 b>c
② a<b 且 b>c
③ a>b 或 b>c
④ a>b 或 c>a
⑤ !a
输入格式:
在一行中给出3个整数a、b、c。
输出格式:
请参考样例输出。
首先输出读入的变量的值,此后根据运算关系分为多行输出,如果关系成立,输出TRUE,否则输出FALSE。
输入样例:
1 2 3
输出样例:
a = 1, b = 2, c = 3
逻辑表达式 运算结果
------------- --------
a > b 且 b > c FALSE
a < b 且 b > c FALSE
a > b 或 b > c FALSE
a > b 或 c > a TRUE
!a FALSE
解答:
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<"a"<<" = "<<a<<", "<<"b"<<" = "<<b<<", "<<"c"<<" = "<<c<<endl;
cout<<endl;
cout<<" 逻辑表达式 运算结果"<<endl;
cout<<"------------- --------"<<endl;
cout<<"a > b 且 b > c "<<(a>b&&b>c?"TRUE":"FALSE")<<endl;
cout<<"a < b 且 b > c "<<(a<b&&b>c?"TRUE":"FALSE")<<endl;
cout<<"a > b 或 b > c "<<(a>b||b>c?"TRUE":"FALSE")<<endl;
cout<<"a > b 或 c > a "<<(a>b||c>a?"TRUE":"FALSE")<<endl;
cout<<"!a "<<(!a?"TRUE":"FALSE")<<endl;
return 0;
}
7-6 Camp0206-判断字母大小写
作者 王和兴
单位 东北大学秦皇岛分校
判断用户输入的是大写字母还是小写字母。
输入格式:
输入一个英文字母。
输出格式:
输出该字母是大写字母还是小写字母。
输入样例:
G
输出样例:
字母G是大写字母。
解答:
#include <iostream>
using namespace std;
int main()
{
char ch;
cin>>ch;
if(ch>='A'&&ch<='Z')
{
cout<<"字母"<<ch<<"是大写字母。";
}
else{
cout<<"字母"<<ch<<"是小写字母。";
}
return 0;
}
7-7 Camp0207-位运算符
作者 王和兴
单位 东北大学秦皇岛分校
给定两个整数a与b(其中0<b<10),请输出a与b进行 位与、位或、位异或、位左移、位右移运算及对a按位取反的结果。
输入格式:
在一行中输入两个整数a,b,以空格分隔。
输出格式:
请参考样例分为多行分别输出对应结果
输入样例:
8 5
输出样例:
8 & 5 = 0
8 | 5 = 13
8 ^ 5 = 13
8 << 5 = 256
8 >> 5 = 0
~8 = -9
解答:
#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d & %d = %d\n",a,b,a&b);
printf("%d | %d = %d\n",a,b,a|b);
printf("%d ^ %d = %d\n",a,b,a^b);
printf("%d << %d = %d\n",a,b,a<<b);
printf("%d >> %d = %d\n",a,b,a>>b);
printf("~%d = %d\n",a,~a);
return 0;
}
7-8 Camp0208-类型转换
作者 王和兴
单位 东北大学秦皇岛分校
将用户输入的float型数据的整数和小数部分分别输入。
输入格式:
输入一个float型的浮点数。
输出格式:
分为两行,第一行输出其整数部分,第二行输出其小数部分。
输入样例:
3.141593
输出样例:
在这里给出相应的输出。例如:
3
0.141593
解答:
#include <iostream>
using namespace std;
int main()
{
float a;
cin>>a;
int b = (int)a;
cout<<b<<endl;
cout<<a-b<<endl;
return 0;
}
7-9 Camp0209-下标运算符
作者 王和兴
单位 东北大学秦皇岛分校
请输出一个一维整型数组中指定下标的数组元素值。
输入格式:
输入分为3行。
第一行为n,表示接下来要输入的数组元素个数。
第二行为n个整数,以空格分隔。
第三行为一个下标值。
输出格式:
输出共一行,输出对应的元素的值。
输入样例:
5
1 2 3 4 5
3
输出样例:
4
解答:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n+1];
int s;
for(int i = 0;i<n;i++)
{
cin>>a[i];
}
cin>>s;
cout<<a[s]<<endl;
return 0;
}
7-10 Camp0210-逗号表达式求值
作者 王和兴
单位 东北大学秦皇岛分校
C++通过逗号运算符和逗号表达式来支持灵活的编程需求。
通过对形如(表达式1, 表达式2, ….., 表达式n)的逗号表达式求值,能够在一条语句中顺序求解各个表达式的值,并将表达式n的值作为整个表达式的值。
现在对a=(b, c=2*b, d=b+c, e=d/2,f=b+c+d+e,g=f*10)
这样一个逗号表达式求值,其中b的值为用户输入的整数,且所有表达式的运算结果均在整数范围内,现在请您在一行中输出指定表达式的值。
输入格式:
在一行中输入b值和指定的表达式序号,二者以空格分隔。如果序号为0则表示整个表达式的值。
输出格式:
在一行中输出指定表达式的值。
输入样例:
3 6
输出样例:
220
解答:
#include <iostream>
using namespace std;
int main()
{
int a, b;
int c, d, e, f, g;
int n;
cin >> b >> n;
switch (n) {
case 0:
n=0;
a = (b, c = 2 * b, d = b + c, e = d / 2, f = b + c + d + e, g = f * 10);
cout << a << endl;
break;
case 1:
n = 1;
a = b;
cout << a << endl;
break;
case 2:
n = 2;
a = (b, c = 2 * b);
cout << a << endl;
break;
case 3:
n = 3;
a = (b, c = 2 * b, d = b + c);
cout << a << endl;
break;
case 4:
n = 4;
a = (b, c = 2 * b, d = b + c, e = d / 2);
cout << a << endl;
break;
case 5:
n = 5;
a = (b, c = 2 * b, d = b + c, e = d / 2, f = b + c + d + e);
cout << a << endl;
break;
case 6:
n = 6;
a = (b, c = 2 * b, d = b + c, e = d / 2, f = b + c + d + e, g = f * 10);
cout << a << endl;
break;
default:
break;
}
return 0;
}