求助,C写的,本地和IDE测试样例都能过,但是爆0了
查看原帖
求助,C写的,本地和IDE测试样例都能过,但是爆0了
162494
MarsTao楼主2024/12/24 18:37

代码如下,求大佬指点

#include<stdio.h>
#include<math.h>
#include<string.h>
int main ( )
{
	long long n,k;
	scanf("%lld",&n);
	k=n;
	int s[22]={0},i1,i2,j;
	for(i1=0;i1<=22;i1++)
	{
		s[i1]=k%16;
		k=k/16;
//		printf("%d %d \n",i1,s[i1]);
		if(k==0)
			break;
		i1++;
		s[i1]=k%8;
		k=k/8;
//		printf("%d %d \n",i1,s[i1]);
		if(k==0)
			break;
	}
	j=i1/2;
	if(j>=1)
	{
		for(i2=1;i2<=j+1;i2=i2+2)
		{
			s[i2]=s[i2]+8;
		}
	}
	for(i2=1;i2<=i1+1;i2=i2+3)
	{
		if(s[i2]<=9)
			printf("%d",s[i2]);
		if(s[i2]==10)
			printf("A");
		if(s[i2]==11)
			printf("B");
		if(s[i2]==12)
			printf("C");
		if(s[i2]==13)
			printf("D");
		if(s[i2]==14)
			printf("E");
		if(s[i2]==15)
			printf("F");				
		i2--;
		if(s[i2]<=9)
			printf("%d",s[i2]);
		if(s[i2]==10)
			printf("A");
		if(s[i2]==11)
			printf("B");
		if(s[i2]==12)
			printf("C");
		if(s[i2]==13)
			printf("D");
		if(s[i2]==14)
			printf("E");
		if(s[i2]==15)
			printf("F");	
		printf(" ");
	}
	return 0;
}
2024/12/24 18:37
加载中...