c语言 7-3

1、

复制代码
#include <stdio.h>

unsigned rrotate(unsigned x, int n)
{
    printf("rrotate = %u\n", x >> n);
}

unsigned lrotate(unsigned x, int n)
{
    printf("lrotate = %u\n", x << n);
}

int main(void)
{
    unsigned x;
    int n;
    puts("please input an unsigned integer and an integer.");
    printf("x = "); scanf("%u", &x);
    printf("n = "); scanf("%d", &n);
    
    rrotate(x, n);
    lrotate(x, n);
    
    return 0;
}
复制代码

 

2、

复制代码
#include <stdio.h>

unsigned rrotate(unsigned x, int n)
{
    return x >> n;
}

unsigned lrotate(unsigned x, int n)
{
    return x << n;
}

int main(void)
{
    unsigned x, n, a;
    puts("please input two unsigned integers.");
    printf("x = "); scanf("%u", &x);
    printf("n = "); scanf("%u", &n);
    
    for(;;)
    {
        puts("a = 1: move right;  a = 2: move left.");
        printf("a = "); scanf("%u", &a);
        if(a == 1 || a == 2)
        {
            break;
        }
        puts("input error. try again.");
    }
    if(a == 1)
    {
        printf("right move result: %u\n", rrotate(x, n));
    }
    else
    {
        printf("left move result: %u\n", lrotate(x, n));
    }
    return 0;
}
复制代码

 

 

3、

复制代码
#include <stdio.h>

unsigned rrotate(unsigned x, int n)
{
    return x >> n;
}

unsigned lrotate(unsigned x, int n)
{
    return x << n;
}

int main(void)
{
    unsigned x;
    int n, a;
    puts("please input an unsigned integer and an integer.");
    printf("x = "); scanf("%u", &x);
    printf("n = "); scanf("%d", &n);
    
    while(!0)
    {
        puts("a = 1: move right;   a = 2: move left.");
        printf("a = "); scanf("%d", &a);
        
        if(a == 1 || a == 2)
        {
            break;
        }
        puts("input error, try again.");
    }
    if(a == 1)
    {
        printf("right move result: %u\n", rrotate(x, n));
    }
    else
    {
        printf("left move result: %u\n", lrotate(x, n));
    }
    return 0;
}
复制代码

 

 

4、

复制代码
#include <stdio.h>

unsigned rrotate(unsigned x, int n)
{
    return x >> n;
}

unsigned lrotate(unsigned x, int n)
{
    return x << n;
}

int main(void)
{
    unsigned x;
    int n, a;
    puts("please input two nonnegative integers.");
    printf("x = "); scanf("%u", &x);
    printf("n = "); scanf("%d", &n);
    
    do
    {
        puts("a = 1: move right.  a = 2: move left.");
        printf("a = "); scanf("%d", &a);
        if(a != 1 && a != 2)
            puts("input error; try again.");
    }
    while(a != 1 && a != 2);
    
    if(a == 1)
    {
        printf("right move result: %u\n", rrotate(x, n));
    }
    else
    {
        printf("left move result: %u\n", lrotate(x, n));
    }
    return 0;
}
复制代码

 

5、

复制代码
#include <stdio.h>

unsigned rrotate(unsigned x, int n)
{
    return x >> n;
}

unsigned lrotate(unsigned x, int n)
{
    return x << n;
}

int main(void)
{
    unsigned x;
    int n;
    puts("please input the value of unsigned x and int n.");
    printf("x = "); scanf("%u", &x);
    printf("n = "); scanf("%d", &n);
    
    printf("%u move to right %d bits is :%u\n", x, n, rrotate(x, n));
    printf("%u move ro left %d  bits is :%u\n", x, n, lrotate(x, n));
    
    return 0;
}
复制代码

 

posted @   小鲨鱼2018  阅读(45)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-05-18 《Linux就该这么学》学习笔记 09
点击右上角即可分享
微信分享提示