C语言的一些练习以及自己写一个猜数字小游戏

写代码将三个数按从小到大输出,代码如下:

int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d%d%d", &a, &b, &c);
    //算法实现
    //a中放最大值
    //b次之
    //c中放最小值
    if (a < b)
    {
        int t = a;
        a = b;
        b = t;
    }
    if (a<c)
    {
        int t = a;
        a = c;
        c = t;
    }
    if (b < c)
    {
        int t = b;
        b = c;
        c = t;
    }
    printf("%d %d %d", a, b, c);
    return 0;
}

打印1到100之间所有3的倍数,代码如下:

int main()
{
    int i = 0;
    for (i = 1; i < 100; i++)
    {
        if (i%3 == 0)
        {
            printf("%d\n", i);
        }
    }
    return 0;
}

给定2个数求这2个数的最大公约数,代码如下:

int main()//辗转相除法
{
    int a = 0;
    int b = 0;
    int r = 0;
    scanf("%d%d", &a, &b);
    while (r = a%b)
    {
        //r = a%b;
        a = b;//a = 15
        b = r;//b = 10
    }
    printf("%d\n", b);
    return 0;
}

打印1000到2000年的闰年,代码如下:

int main()
{
    int year = 0;
    int count = 0;
    for (year = 1000; year <=  2000; year++)
    {
        //判断year是否为闰年
        //1.能被4整除并且不能被100整除是闰年
        //2.能被400整除是闰年
        if (year % 4 == 0 && year % 100 != 0)
        {
            printf("%d\n", year);
            count++;
        }
        else if (year % 400 == 0)
        {
            printf("%d\n", year);
            count++;
        }
            }
    printf("count = %d\n", count);
    return 0;
}

打印100到200的素数,代码如下:

int main()
{
    int i = 0;
    int count = 0;
    //sqrt - 开平方的数学库函数
    for (i = 100; i <= 200; i ++)
    //for (i = 101; i <= 200; i+=2)
    {
        //判断i是否为素数
        //素数判断的规则
        //1.试除法
        //13 2-12 
        //产生2->i-1
        int j = 0; 
        for (j = 2; j <= i; j++)
        //for ( j = 2; j <= sqrt(i); j++)
        {
            if (i%j == 0)
            {
                break;
            }
        }
        if (j == i)
        //if (j >sqrt(i))
        {
            printf("%d\n", i);
            count++;
        }
    }
    printf("count = %d\n", count);
    return 0;
}

当然上面因为我们用了sqrt这个库函数,上面就要引入math.h的头文件。

数一下1到100的所有整数中出现了多少个数字9,代码如下:

int main()
{
    int i = 0;
    int count = 0;
    for ( i = 1; i <= 100; i++)
    {
        if (i % 10 == 9)
            count++;
        if (i / 10 == 9)
            count++;
    }
    printf("count = %d", count);
    return 0;
}

计算1/1-1/2+1/3-1/4+1/5......+1/99-1/100的值,打印出结果:

int main()
{
    int i = 0;
    double sum = 0;
    int flag = 1;
    for ( i = 1; i <= 100; i++)
    {
        sum += flag*1.0 / i;
        flag = -flag;
    }
    printf("sum = %lf\n", sum);
    return 0;
}

求10个整数中的最大值,代码如下:

int main()
{
    int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    int max = arr[0];//最大值
    int i = 0;
    int sz = sizeof(arr) / sizeof(arr[0]);
    for ( i = 0; i < sz; i++)
    {
        if (arr[i]>max)
            max = arr[i];
    }
    printf("max = %d", max);
    return 0;
}

在屏幕上输出9*9乘法口诀表,代码如下:

int main()
{
    int a = 0;
    //确定打印9行
    for ( a = 1; a <= 9; a++)
    {
        //打印一行
        int b = 1;
        for ( b = 1; b <= a ; b++)
        {
            printf("%d*%d=%-2d ", a, b, a*b);
        }
        printf("\n");
    }
    return 0;
}

猜数字游戏,有兴趣可以玩一下,代码如下:

void menu()
{
    printf("**************************\n");
    printf("**1.开始游戏  0.退出游戏**\n");
    printf("**************************\n");
}
//RAND_MAX= 32767
void game()
{
    //1.生成一个随机数
    int ret = 0;
    int guess = 0;
    //拿时间戳来设置随机数的生成起始点
    //time_t time(time_t *timer)
    ret = rand()%100+1;//生成1到100之间的随机数
    //printf("%d\n",ret);
    //2.猜数字
    while (1)
    {
        printf("猜数字>:");
        scanf("%d", &guess);
        if (guess > ret)
        {
            printf("猜大了\n");
        }
        else if (guess<ret)
        {
            printf("猜小了\n");
        }
        else
        {
            printf("恭喜猜对\n");
            break;
        }
    }
}
int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));
    do
    {
        menu();
        printf("请选择>:");
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            game();//猜数字游戏
            break;
        case 0:
            printf("退出游戏\n");
            break;
        default:
            printf("选择错误\n");
            break;
        }
    } while (input);
    return 0;
}

当然这里我们用到了time,rand,srand等库函数,有用我们就要打招呼,所以引用头文件
#include<time.h>,#include<stdlib.h>,今天的学习到此结束啦。明天继续努力。加油奥力给
2021.1.20

猜你喜欢

转载自blog.51cto.com/15080720/2599848