业精于勤,荒于嬉;行成于思,毁于随

蓝桥 BASIC-10 十进制转十六进制

除16取余,可以体现栈的操作

问题描述:
  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
  给出一个非负整数,将它表示成十六进制的形式。
输入格式:
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式:
输出这个整数的16进制表示

#include<iostream>
using namespace std;
int main()
{
	char a[100];
	int i,k,j=0;
	cin>>i;
	if(i==0)
		cout<<'0'; 
	for(;i>0;i/=16)
	{
		k=i%16;
		a[j]=k;
		if(k<10)
			a[j]=k+48; 
		j++;
	}
	j--;
	for(;j>=0;j--)
	{
		switch(a[j]){
			case 10:
				a[j]='A';
				break;
			case 11:
				a[j]='B';
				break;
			case 12:
				a[j]='C';
				break;
			case 13:
				a[j]='D';
				break;	
			case 14:
				a[j]='E';
				break;	
			case 15:
				a[j]='F';
				break;
			default:
				break;
		}
		cout<<a[j];	
	} 
	return 0;	
} 

蓝桥 BASIC-13 数列排序

采用冒泡排序

问题描述: 
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200

输入格式:   
第一行为一个整数n。   
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。

输出格式:   
输出一行,按从小到大的顺序输出排序后的数列。

#include<iostream>
using namespace std;
int main()
{
	int str[200];
	int i=0,n,temp;
	cin>>n;
	for(i=0;i<n;i++)
 		cin>>str[i];
	for(int j=n;j>0;j--)
	{
 		for(i=0;i<j-1;i++)
 		{
  			if(str[i]>str[i+1])
  			{
    			temp=str[i+1];
    			str[i+1]=str[i];
    			str[i]=temp; 
   			}
  		}
 	}
 	for(i=0;i<n;i++)
  		cout<<str[i]<<' ';
 	return 0;
} 

蓝桥 BASIC-4 数列特征

问题描述:
给出n个数,找出这n个数的最大值,最小值,和。

输入格式:
第一行为整数n,表示数的个数。

第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。

输出格式:
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
数据规模与约定:
1 <= n <= 10000。

#include<iostream>
using namespace std;
int main()
{
	int a[10000];
	int max,min,sum=0;
	max=-32768;
	min=32767;
	for(int n;cin>>n;)
	{
		for(int i=0;i<n;i++)//存数 
			cin>>a[i];
		for(int j=0;j<n;j++)//遍历求最大值 
		{
			if(max<a[j])
				max=a[j];
		}
		for(int k=0;k<n;k++)//遍历求最小值 
		{
			if(min>a[k])
				min=a[k];
		}
		for(int l=0;l<n;l++)//遍历求和 
			sum+=a[l];
	cout<<max<<endl<<min<<endl<<sum<<endl;
	}
} 

蓝桥 BASIC-11 十六进制转十进制

注意数组的初始化,str>>int强制类型转换为ASCII码,以及类型的取值范围

问题描述: 
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	char str[8];
	int length=0;
	long long int sum=0,f=0; 
	int a[8]={0,0,0,0,0,0,0,0};
	cin>>str;
	while(str[length]!='\0') 
		length++;
	for(int i=0;i<length;i++)
	{
		switch(str[i]){
			case 'A':
				a[i]=10;
				break;
			case 'B':
				a[i]=11;
				break;
			case 'C':
				a[i]=12;
				break;
			case 'D':
				a[i]=13;
				break;
			case 'E':
				a[i]=14;
				break;
			case 'F':
				a[i]=15;
				break;
			default:
				a[i]=str[i]-48;
				break;
		}
	}
	for(int i=0;i<length;i++)
	{
		f=a[i]*pow(16,(length-i-1));
		sum+=f;
	}
	cout<<sum<<endl;
	return 0;
} 

蓝桥 BASIC-7 特殊的数字:一个三位数a(百位)b(十位)c(个位)满足i=a3+b3+c3

利用#include<math.h>中的pow(x,y)表示乘方

问题描述
  153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3。编程求所有满足这种条件的三位十进制数。
输出格式
  按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	int i,a,b,c;
	for(i=100;i<1000;i++)
	{
		a=i/100;
		b=(i%100)/10;
		c=(i%100)%10;
		if(i==pow(a,3)+pow(b,3)+pow(c,3))
			cout<<i<<endl;
	}
	return 0;
 } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值