英文句子逆序,各进制间转换,杨辉三角

程序练习题:
//将welcome to nanjing 变成nanjing to welcome
#include 
   
   
    
    
#include 
    
    
     
     
#define MAX_SIZE 1024

void reverse_string(char *src,int len)
{
    int i;
    char temp;
    for(i = 0;i < len / 2;i++)
    {
        temp = *(src + i);
        *(src + i) = *(src + len - 1 - i);
        *(src + len - 1 - i) = temp;
    }
}

void reverse_word(char *src)
{
    int len = 0;
    while(*src != '\0')
    {
        if(*src == ' ')
        {
            reverse_string(src - len,len);
            len = 0;
        }
        else
        {
            len++;
        }
        src ++;
    }
    reverse_string(src -len,len);
}

int main()
{
    char src[MAX_SIZE] = {0};
    printf("Please input a string:");
    gets(src);
    
    reverse_string(src,strlen(src));
    reverse_word(src);
    printf("src = %s\n",src);
}


2、十进制数转换成二进制数
#include 
     
     
      
      
/*
int main()
{
    int num;
    int n;
    int a[32] = {0};
    int i = 0;
    printf("Please input a num\n");
    scanf("%d",&num);
    while(num > 0)
    {
        n = num % 2;
        a[32 - i - 1] = n;
        i++;
        num = num / 2;
    }
    for(i = 0;i < 32;i++)
    {
        printf("%d",a[i]);
    }
}*/

int main()
{
    int num;
    printf("Please input a number:");
    scanf("%d",&num);
    int i = 0;
    for(i = 0;i < 32;i++)
    {
        printf("%d",num >> (32 - 1 - i) & 1);
    }
}

//十进制转换成八进制
#include 
      
      
       
       
int main()
{
    unsigned int num;
    unsigned int i = 0;
    printf("Please input a number:");
    scanf("%u",&num);
    printf("Result = ");
    
    
    for(i = 0;i <= 30;i += 3)
    {
        printf("%d",num >>(30 - i) & 7);    
    }
    return 0;
}


//N!最后有多少个0
#include 
       
       
         main() { int i; int count = 0; int N; printf("Please input a num N:"); scanf("%d",&N); while(N >= 5) { count += N / 5; N /= 5; } printf("The number of 0 in the end of %d! is:%d.\n",N,count); } //x的y次方最后三位数 #include 
        
          main() { int i; int x; int y; int last = 1; printf("Input X and Y(X**Y):"); scanf("%d**%d",&x,&y); for(i = 1;i <= y;i++) { last = last * x % 1000; } printf("The last 3 digits of %d**%d is:%d\n",x,y,last % 1000); } //杨辉三角 #include 
         
           #include 
          
            int main() { int n; int i; int j; int **p; printf("请输入n的值:\n"); scanf("%d",&n); p=(int**)malloc(sizeof(int*)*n); for(i=0;i 
           
             < n;i++) { for(j = 0;j <= i;j++) { if(j == 0) *(*(p + i) + j) = 1; //p[i][j] = 1; else if(j == i) *(*(p + i) + j) = 1; //p[i][j] = 1; else *(*(p + i) + j) = *(*(p + i - 1) + j - 1) + *(*(p + i - 1) + j); //p[i][j] = p[i-1][j-1]+p[i-1][j]; } } for(i = 0;i < n;i++) { for(j = 0;j <= i;j++) // printf("%d ",p[i][j]); printf("%d ",*(*(p + i) + j)); printf("\n"); } return 0; } //16进制 #include 
            
              char a[11] = {0}; char *func(int num) { unsigned int mask = 0x00000000f; unsigned int m = 0; int i = 0; int j = 0; for(i = 28,j = 0;i >= 0;i = i - 4,j++) { m = (num >> i) & mask; if(m >= 0&&m < 10) { a[j + 2] = m + '0'; } else { a[j + 2] = (m - 10) + 'a'; } } a[0] = '0'; a[1] = 'x'; a[10] = '\0'; return a; } int main() { int num = 0; char *p; printf("please input a num:"); scanf("%d",&num); p = func(num); printf("result is:%s\n",p); return 0; } 
             
            
           
          
         
       
      
      
     
     
    
    
   
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值