while循环之数据统计

数据统计(讲过了,不是作业)
输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都不超过1000的整数。
输入样例:
2 8 3 5 1 7 3 6
输出样例:
1 8 4.375

家庭作业:

1.一球从某一高度h落下(单位米),每次落地后反跳回原来高度的一半,再落下。编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?
输出包含两行,第1行:到球第10次落地时,一共经过的米数。第2行:第10次弹跳的高度。

样例输入:20
样例输出:59.9219
0.0195313

2.所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。最后一行输出“End”, 如果输入为1,直接输出“End”。
输入样例:
5
输出样例:
5 * 3 + 1 = 16
16/2 = 8
8/2 = 4
4/2 = 2
2/2 = 1
End

#include <iostream>
using namespace std;
int main(){
	long long n,a;
	cin >> n;
	while(n!=1){
		if(n%2==1){
			cout << n << "*3+1=" << n*3+1 << endl;
			n=n*3+1;
		}
		else{
			cout << n << "/2=" << n/2 << endl;
			n/=2;
		}
	}
	cout << "End";
	return 0;
}

3.请编写一个程序,输入一个整数K,使得1 + 1/2 + 1/3 + 1/4 + …… + 1/n 的和大于K(1 <=K<=15),求最小的n,并打印出n的值。(已经做过)

4.分离整数的各个数
给定一个整数n(1<=n<=1000000000),要求从个位开始分离出它的每一位数字。从个位开始按照从低位到高位的顺序依次输出每一位数字。

样例输入:
123
样例输出:
3 2 1

int main(){
	int n,b,c;
	cin >> n;
	while(n!=0){
		cout << n%10 <<" ";
		n = n/10;
	}
	cout << endl;
	return 0;
}

5.数字反转
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,例如输入-380,反转后得到新数为-83。
输入:
一行,一个整数n(-1,000,000,000<=n<=1,000,000,000).
输出:
一行,一个整数,表示反转后的新数。
样例输入:
样例 #1:
123
样例#2:
-380
样例输出
样例 #1:
321
样例 #2:
-83

#include<cstdlib>
int main(){
	int n,s=0;
	scanf("%d",&n);
	if(n<0) printf("-"); n=abs(n);
	if(n==0){printf("0");exit(0);}
	while(n!=0){
		s = s * 10 + n % 10;
		n = n/10;
	}
	printf("%d\n",s);
	return 0;
}

6.含k个3的数
输入两个正整数m和k,其中1<m<100000,1<k<5,判断m能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。例如,输入:43833 3,满足条件,输出YES。如果输入:39331 3,尽管有3个3,但不能被19整除,也不满足条件,应输出NO。
输入:
m和k的值,中间用单个空格间隔
输出:
满足条件时输出YES,不满足时输出NO。
样例输入:
43833 3
样例输出:
YES

int main(){
	int m,n,k,s=0,t;
	cin >> m >> k;
	n = m;
	while(n!=0){
		t=n%10;
		if(t==3)s++;
		n/=10;
	}
	if(m%19==0&&s==k)cout << "YES" << endl;
	else cout << " NO" << endl;
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

松桥爸(仁勇)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值