菜鸟求教(输入一个十进制数N,将它转换成R进制数输出)

cainiao007hao 2012-05-22 11:40:53
#include <stdio.h>
int main()
{
int T,R,i,flag,flag2;
long long a;
int sum[64];
scanf("%d",&T);
while(T--)
{
flag=0;
flag2=0;
scanf("%d %d",&a,&R);
if(a<0)
{
a=-a;
flag=1;
}
if(a<R)
{
printf("%d",a);
flag2=1;
}
for(i=0;a>1&&flag2==0;i++)
{

sum[i]=a%R;
a=a/R;
if(a<R&&a>0)
{
sum[i+1]=a;
i++;
break;
}
}
for(;i>=0&&flag2==0;i--)
{
if(flag==1)
{
printf("-");
flag=0;
}

switch(sum[i])
{
case 10 : printf("A");break;
case 11 :printf("B");break;
case 12 :printf("C");break;
case 13 :printf("D");break;
case 14 :printf("E");break;
case 15 :printf("F");break;
case 16 :printf("G");break;
case 17 :printf("H");break;
case 18 :printf("I");break;
case 19 :printf("J");break;
case 20 :printf("K");break;
case 21 :printf("L");break;
case 22 :printf("M");break;
case 23 :printf("N");break;
case 24 :printf("O");break;
case 25 :printf("P");break;
case 26 :printf("Q");break;
case 27 :printf("R");break;
case 28 :printf("S");break;
case 29 :printf("T");break;
case 30 :printf("U");break;
case 31 :printf("V");break;
case 32 :printf("W");break;
case 33 :printf("X");break;
case 34 :printf("Y");break;
case 35 :printf("Z");break;
default :printf("%d",sum[i]);
}
}
printf("\n");

}
return 0;
}
EOJ上wa.........
...全文
971 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cainiao007hao 2012-05-26
  • 打赏
  • 举报
回复
EOJ上wa.........
赵4老师 2012-05-22
  • 打赏
  • 举报
回复
_ltoa
RiqueZhang 2012-05-22
  • 打赏
  • 举报
回复
char *myitoa(int num,char *str,int radix)
{  
char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; /* 索引表 */   
unsigned unum; /* 中间变量 */
int i=0,j,k;  
 
/* 确定unum的值 */
if(radix==10&&num<0) /* 十进制负数 */   
{
unum=(unsigned)-num;
str[i++]='-';
}
else
unum=(unsigned)num; /* 其他情况 */

/* 逆序 */
do
{   
str[i++]=index[unum%(unsigned)radix];   
unum/=radix;   
}while(unum);   
str[i]='\0';  
 
/* 转换 */   
if(str[0]=='-')
k=1; /* 十进制负数 */   
else
k=0; /* 将原来的“/2”改为“/2.0”,保证当num在16~255之间,radix等于16时,也能得到正确结果 */   
char temp;
for(j=k;j<=(i-k)/2.0;j++)   
{   
temp=str[j];   
str[j]=str[i-j];   
str[i-j]=temp;   
}   
return str;   
}
Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。虽说我们可以使用比如Kubeadm工具可以简化k8s集群的部署,但这却对我们k8s的各个组件如何协同工作,及排错造成困扰。本套课程主要是以二进制的方式来一步步的安装k8s的集群,来加深我们对K8s集群进一步的理解。同时也可以作为我们生产部署的一种方式。知识讲解:   1.   概述了K8s的集群的一个整体架构。 2. 为了实现各个组件的通信,讲解了如何为各组件签发证书、配置kubeconfig、和产生加密的key及密钥。 3. Etcd键值存储集群的部署。 4. K8s的主节点的三大组件一步步的部署。 5. K8s的worker节点的三大组件及flannel网络插件部署。 6. 部署kube coredns作为k8s内部的域名解析。注意:本课程学习需要具有一定的Linux基础,**是学习过K8s集群或者在使用K8S使用有一段时间的。这样可以更好的理解本套课程内容。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧