C语言中的经典小程序1

首先声明所写的这些函数都是本人自己实践过的,每一个程序都是能够实际运行的。

1.将一个十进制的无符号整型数据转换成二进制形式表示,用C语言实现。
我写了一个程序,经过运行能够实现:
#include<stdio.h>

void funcint_to_ox(unsigned int a);
int main(void)
{
     unsigned int m;
     printf("please input an unsigned int number:\n");
     scanf("%d",&m);
     printf("转换前数字为%d\n",m);
     printf("转换后数字为:\n");
     funcint_to_ox(m);
     return 0;
}

void funcint_to_ox(unsigned int a)
{
     int i = 32;
     while(i-->=1)
     {
      if(a&(1<<i))
         {
            printf("1");
         }
      else
      {
           printf("0");
      }
     }
     printf("\n");
}
其实这个程序不仅仅是实现十进制转二进制的表示,当然也可以实现八进制转二进制的表示。

2.用C语言实现将整数转换成字符串数(即自己实现itoa这个函数)。

#include<stdio.h>

void i_to_a(int m);

int main(void)
{
     int a ;
     printf("please input an int number:\n");
     scanf("%d",&a);
     printf("转换之前的整数为:%d\n",a);
     i_to_a(a);

     return 0;
}

void i_to_a(int m)
{
     int i = 0, j = 0, k = 0;
     char str[32],temp[32];
    
   while(m)
   {
        temp[i] = m%10+'0';
        m = m/10;
        i = i++;
   }

   temp[i]='\0';
   printf("the temp is %s\n",temp);

   while(i>=0)
   {
      str[j] = temp[i-1];
      j++;
      i--;
   }
      str[j-1]= '\0';
      printf("转换成字符串之后为:%s\n",str);
}


3.用C语言实现字符串转化成整数(即自己实现atoi这个函数)。

#include<stdio.h>

void a_to_i(char * m);

int main(void)
{
   char b[32];
   printf("please input a string:\n");
   scanf("%s",b);
   printf("转换前的字符为:%s\n",b);
   a_to_i(b);

   return 0;
}
void a_to_i(char *m)
{
   int i = 0, j = 0, k = 0,sum = 0;
   char str[32],temp[32];
   
   while(*(m+j)!='\0')
   {
      temp[i]=*(m+j);
       i++;
       j++;
   }

   temp[i]='\0';
   printf("the temp is :%s\n",temp);
   while(k<i)
   {
      sum = sum *10+(temp[k]- '0');
      k++;
   }
      printf("转换成整型数之后为:%d\n",sum);
}

4.用C语言实现冒泡排序。

#include <stdio.h>

void inputarr(int *arr,int n);
        void outputarr(int *arr,int n);
        void bubblesort(int *sort,int n);
       int main(void)
      {
           int sort[5];
           printf("请输入五个数字\n");
           inputarr(sort,5);
           bubblesort(sort,5);
           outputarr(sort,5);

  return 0;
    }

void inputarr(int *arr,int n)
      {
           int i;
           for(i = 0; i<n; i++)
           {
              scanf("%d",(arr+i));
           }

}

void outputarr(int *arr,int n)
       {
          int i;
          for(i= 0; i<n; i++)
         {
            printf("%d  ",*(arr+i));
         }
         printf("\n");
       }
        void bubblesort(int *sort, int n)
      {
           int i,j,t;
           for(i=0; i<n-1;i++)
          {
               for(j= 0;j<n-1-i;j++)
              {
                 if(*(sort+j)>*(sort+j+1))
                   {
                        t = *(sort+j);
                        *(sort+j)= *(sort+j+1);
                        *(sort+j+1)= t;
                   }
               }
             }

}


 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值