武汉大学上机题

武汉大学上机题

题目一描述:
给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit 0-9)各出现了多少次。
例如输入:
1 99
输出:
9 20 20 20 20 20 20 20 20 20

算法思想:
对a和b之间的所有数进行逐个分析,拆分各个数字的所有位,对数码出现的次数进行统计。

#include<iostream>
using namespace std;
int main() {
   
	int a, b;
	cout << "输入范围:";
	cin >> a >> b;
	int num[10] = {
    0,0,0,0,0,0,0,0,0,0 };//定义一个数组存储0-9数字每个数的出现次数
	for (int i = a;i <= b;i++) {
   
		int j = i;
		while (j / 10) {
   //拆开数字的每一位
			num[j % 10]++;
			j = j / 10;
		}
		num[j]++;
	}
	cout << "result:" << endl;
	for (int i = 0;i < 10;i++)
		cout << num[i] << '\t';
	cout << endl;
	return 0;
}

运行测试:
在这里插入图片描述

题目二描述:
输出一个整数n(0<n<10),显示n行如下规律图形。
例如输入3,显示:
1
2 3
4 5 6
例如输入5,显示:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15

#include
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值