码迷,mamicode.com
首页 > 编程语言 > 详细

算法竞赛入门经典 习题 3-5 3-6 进制转换

时间:2014-11-04 17:36:43      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:blog   io   ar   for   sp   2014   log   bs   amp   

习题3-6

输入基数b(2<=b<=10)和正整数n(十进制),输出n的b进制表示。 


#include <stdio.h>
#include <stdlib.h>
#define MAXN 100
int a[MAXN];

int main(int argc, char *argv[])
{
  int b, n, i = 0, j;
  scanf("%d %d", &b, &n);
  while(n/b != 0 || n%b != 0)
  {
     a[i++] = n%b;
     n = n/b;
  }
  for(j = i-1; j >= 0; j--)
     printf("%d", a[j]);
  printf("\n");
  system("PAUSE");	
  return 0;
}

总结:可以用n>0作为判断条件

习题3-7 

输入基数b(2<=b<=10)和正整数n(b进制),输出n的十进制表示。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define MAXN 100
char a[MAXN];

int main(int argc, char *argv[])
{
  int b, length, i, j;
  int n = 0;
  scanf("%d", &b);
  scanf("%s", a);
  length = strlen(a);
  for(i = length-1, j = 0; i >= 0; i--, j++)
  {
     n = n + (a[i] - '0')*pow(b,j);
  }
  printf("%d\n", n);
  system("PAUSE");	
  return 0;
}


算法竞赛入门经典 习题 3-5 3-6 进制转换

标签:blog   io   ar   for   sp   2014   log   bs   amp   

原文地址:http://blog.csdn.net/oceaniwater/article/details/40785227

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!