C语言中的经典小程序1

来源:互联网 发布:桌面图标修复软件 编辑:程序博客网 时间:2024/04/29 06:48
首先声明所写的这些函数都是本人自己实践过的,每一个程序都是能够实际运行的。

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;
                   }
               }
             }

}


 
原创粉丝点击