今天我们学习的是拆位运算和小数运算。
在今天这节课中我们会学到一个新的头文件
#include<iomanip>
和一个新的几个单词分别是
setprecision
fixed
neijiaodushu
float
接下来让我们来练习几个关于拆分运算的题目吧。
题目是:从键盘读入一个两位的整数n,请求出这个两位整数个位和十位的和是多少?
#include<iostream>
using namespace std;
int main();
{
int a,b,c,d;
cout<<"请输入一个两位数,我可以求十位和个位之和";
cin>>a;
b=a/10;
c=a%10;
d=b+c;
cout<<d;
return 0;
}
第二题题目:对于一个任意的三位自然数X,编程计算其各个数位上的数字之和S
#include<iostream>
using namespace std;
int main()
{
int a,b,c,s,n;
cin>>n;
a=n%10;
b=n/10%10;
c=n/100%10;
s=a+b+c;
cout<<s;
return 0;
}
第三题:输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数
#include<iostream>
using namespace std;
int main()
{
int a,b,c,n;
cin>>n;
a=n%10;
b=n/10%10;
c=n/100%10;
cout<<a<<""<<b<<""<<c;
return 0;
}
第四题:请从键盘读入一个四位整数,求这个四位整数各个位的和是多少?
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,e,n;
cin>>n;
d=n%10;
c=n%100/10;
b=n/100%10;
a=n/1000;
e=a+b+c+d;
cout<<e;
return 0;
}
第五题:小丽在编程课上学会了拆位运算,她已经可以拆出一个两位整数的十位和个位了,她想知道这个整数的十位/个位的结果是多少,请编程帮她实现?(请注意,计算结果要保留1位小数)
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a,b,n;
cin>>n;
a=n%10;
b=n/10;
cout<<fixed<<setprecision(3)<<b/a;
return 0;
}
第六题:输入一个三位正整数,然后与它倒过来的数相加,输出和
#include<iostream>
using namespace std;
int main()
{
int a,b,c,n;
cin>>n;
a=n%10;
b=n/10%10;
c=n/100%10;
cout<<a<<""<<b<<""<<c;
int a,b,c,d,n;
cin>>n;
b=n/10;
c=n/10%10;
d=n/100%10;
a=b+c+d;
cout<<s;
return 0;
}
第七题
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d,n;
cin>>n;
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000%10;
cout<<a<<""<<b<<""<<c<<""<<d;
return 0;
}
第八道:从键盘读入一个5位的正整数,请求出这个5位数的各个位之和
#include<iostream>
using namespace std;
int main()
{
int a5,a4,a3,a2,a1,a,n;
cin>>n;
a5=n/10000%10;
a4=n/1000%10;
a3=n/100%10;
a2=n/10%10;
a1=n/1%10;
a=a5+a4+a3+a2+a1;
cout<<a;
return 0;
}
第九道:丽在编程课上学会了拆位运算,她已经可以拆出一个三位整数的百位、十位和个位了,她想知道这个整数的(百位+十位)/(十位+个位)的结果是多少,请编程帮她实现?(请注意,计算结果要保留2位小数
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a,b,c,n;
cin>>n;
a=n%10;
b=n/10;
c=n/100%10;
cout<<fixed<<setprecision(2)<<;
return 0;
}