文章

3

粉丝

185

获赞

1

访问

28.7k

头像
高分篇练习题——2.2
C语言
发布于2021年6月12日 19:34
阅读数 8.9k

1. 1259 十六进制转十进制

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
#include<iostream>
#include<bitset>

using namespace std;
//十六进制转10进制
char ori[50];
int main(){
	long long ans = 0;
	int len;
	int i,j,k;
	while(scanf("%s",ori) != EOF){
		ans = 0;
		len = strlen(ori);
		for(i = 2;i < len;i++){
			//printf("%c",ori[i]);
			if('0'<=ori[i] && ori[i]<='9'){
				ans = ans*16+(ori[i]-'0');
			}
			else{
				ans = ans*16+(ori[i]-'A')+10;
			}
		}
		printf("%lld\n",ans);
	}
	return 0;
}

2. 1380 十进制转二进制、1417 十进制转八进制,n<10,进制修改一下就行

int nums[100];
int main(){
	long long n;
	int len;
	int i,j,k;
	while(scanf("%lld",&n) != EOF){
		memset(nums,0,sizeof(nums));
		i = 1;
		while(n){
			nums[i] = n%2;
			i++;
			n = n/2;
		}
		nums[0] = i-1;//最后一位的下标
		for(i = nums[0];i > 0;i--){
			printf("%d",nums[i]);
		}
		puts("");
...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发