Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240897
  • 博文数量: 35
  • 博客积分: 791
  • 博客等级: 军士长
  • 技术积分: 510
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-05 16:56
文章分类
文章存档

2013年(7)

2012年(28)

我的朋友

分类: C/C++

2012-09-27 23:00:07

程序要求:
编写函数itob(n,s,b),将整数n转化为以b为底数,并将结果以字符的形式保存在字符串s中。
代码如下:

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. void itob(int n,char s[],int b);

  3. int main()
  4. {
  5.    int i=1234;
  6.    int n=16;
  7.    char buf[100];

  8.    itob(i,buf,16);
  9.    printf("i%d的结果为:%s",buf);
  10.    
  11.    reuturn 0;

  12. }
  13. void itob(int n,char s[],int b)
  14. {
  15.   int i=0;
  16.   int j;
  17.   int sign;
  18.   void reserve(char s[]);
  19.   
  20.   if((sign=n)<0)
  21.   n=-n;
  22.    
  23.   while(n/b)
  24.   {
  25.      j=n%b;
  26.      if(j<=9)
  27.       s[i++]=j+'0';
  28.      else
  29.      s[i++] = j+'a'-10;
  30.    }
  31.    if(sign = -1)
  32.    s[i++] = '-';
  33.    s[i] = '\0';

  34.    reserve(s);
  35.   
  36. }

  37. void reserve(char s[])
  38. {
  39.    int i;
  40.    int j;
  41.   
  42.    i=0;
  43.   for(i=0,j=strlen(s)-1;i<j;i++,j--)
  44.   {
  45.     int temp;
  46.     temp = s[i];
  47.     s[i] = s[i];
  48.     s[j] = temp;
  49. }

  50. }


阅读(1453) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~