分支,循环简单应用(下)

1.找一个数,它每一位的立方之和等于它本身

int main() {

	int a, b, c;
	for (int i = 100; i <= 999; i++)
	{
		a = i / 100;
		b = (i / 10) % 10;
		c = i % 10;
		if (a * a * a + b * b * b + c * c * c == i)
			printf("%d\n", i);
	}

	return 0;
}

2.求一个小于1000的数的平方根

#include<stdio.h>
#include<math.h>

int main() {
	double sum;
	scanf("%lf", &sum);
	if (sum < 1000) {
		printf("%lf", sqrt(sum));
	}
	else {
		printf("输入的sum值无效,请重新输入sum值");
	}

	return 0;
}

3.求两个数的最大公因数和最小公倍数

int main() {
	int m, n, max, min, b, c;
	printf("请输入两个整数:\n");
	scanf("%d%d", &m, &n);
	c = m % n;
	b = m * n;
	while (c != 0)
	{
		m = n;
		n = c;
		c = m % n;
	}
	max = n;
	min = b / max;
	printf("\n最大公约数为:%d\n最小公倍数为:%d\n", max, min);
	return 0;

4.输入一个数判断它有几位(正负数0都可以)do while循环

int main() {
	int num;
	scanf("%d", &num);
	int bit = 0;
	do{
		num /= 10;
		bit++;
	}while(num != 0)
	printf("%d位数据", bit);
	return 0;
}

5.将一串数字求出位数后倒序输出

int GetBit(long long value) {//求一串数字的位数
	int count = 0;
	while (value != 0) {
		value /= 10;
		count++;
	}
	return count;
}

long long Reverse(long long value) {//将一串数字倒序输出
	long long result = 0;
	int count = GetBit(value);
	while (value != 0) {
		result += value % 10 * (long long)pow(10, --count);
		value /= 10;
	}
	return result;
}


int main() {
	long long value = 123456789;
	int count = GetBit(value);
	printf("%d", count);
	long long res = Reverse(value);
	printf("%lld", res);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值