【【c语言康复训练-1】】

c语言康复训练-1

//100以内取奇数

c 复制代码
int main()
{
    int i = 0;
    while (i < 101)
    {
        if (i % 2 == 1)
        {
            printf("%d\n",i);
        }
        i++;
    }
}

//n的阶乘练习

c 复制代码
int main()
{
int a = 0;
int b = 1;
int i = 1;
printf("请输出阶乘数字\n");
scanf("%d", &a);
while (i <= a)
{
b = b*i;
i++;
}
printf("结果是%d", b);
return 0;
}
//1!+2!+...
int main()
{
    int a = 0;
    int b = 1;
    int sum = 0;
    int i = 0;
    printf("请输入你想要输入的数据\n");
    scanf("%d", &a); //接收输入的数值a

    for (i = 1;i <= a;i++)
    {
        b = b * i;
        sum = sum + b;
    }
    printf("您得到的最终结果是:%d\n", sum);
    printf("您得到的结果是:%d\n", b);
    return 0;
}

//二分法查找某数

c 复制代码
#include<stdlib.h>
int main()
{
    int arr[] = { 0,1,2,3,4,5,6,7,8,9,10 };
    int a = 0;
    
    int left = 0;
    
    int i = 0;
    printf("请输入你的数字:");
    scanf("%d", &a);// 输入数字存进a 
    int b = sizeof(arr) / sizeof(arr[0]);
    int right = b - 1;
    while (left <= right)
    {
        int i = (right + left) / 2;
        if (arr[i] > a)
        {
            right = i-1;
        }
        else
            if (arr[i] < a)
            {
                left = i + 1;
            }
            else
            {
                printf("您所输入的数字是:%d", a);
                break;
            }
    }
    if (left > right)
    {
        printf("结果是没找到");
    }
    return 0;
}

//汇聚效果的welcome 设置

c 复制代码
int main()
{
    char arr1[] = "welcome to HF !!!";
    char arr2[] = "*****************";
    int left = 0;
    int sz = sizeof(arr2) / sizeof(arr2[0]);
    int right = sz-2;
    while (left <= right)
    {
        arr2[left] = arr1[left];
        arr2[right] = arr1[right];
        left++;
        right--;
        printf("%s\n", arr2);
    }
    return 0;
}

/三次密码实验

c 复制代码
int main()
{
    int a = 0;
    char arr[] = { 0 };
    for (a = 0; a < 3; a++)
    {
        printf("输入密码:");
        scanf("%s", arr);
        if (strcmp(arr, "123456") == 0)//等号不能用来比较两个字符串一样,应该用库函数
            //strcmp 函数
        {
            printf("恭喜你解锁成功");
            break;
        }
        else
        {
            printf("恭喜你解锁失败");
        }

    }
    if (a == 3)
    {
        printf("爆炸\n");
    }
    return 0;
}

//辗转相除法求最大公约数

c 复制代码
#include<stdlib.h>
#include<stdio.h>
int main()
{
    int a = 0;
    printf("请输入您想要输入的数字a:\n");
    scanf("%d", &a);
    int b = 0;
    printf("请输入您想要输入的数字b:\n");
    scanf("%d", &b);
    int c = 0;
    if (a >b)
    {
        while (a % b)
        {
            c = a % b;
            a = b;
            b = c;
        }
        printf("最小公约数是%d",b );
    }
    else if (a < b)
    {
        while (b % a)
        {
            c = b % a;
            b = a;
            a = c;
        }
        printf("最小公约数是%d",a );
    }    
    else if (a == b)
    {
        printf("最小公约数是%d",a );
    }
    return 0;
}

//判断是否是素数

//偶数肯定不是素数,判断奇数

c 复制代码
int main()
{
    int i = 0;
    for (i = 100; i < 200; i++)
    {
        int j = 0;
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)

            {
                break;
            }

        }
        if (j == i)
        {
            printf("%d\n", i);
        }
    }
    return 0;
}

//找一个数组中的最大数

c 复制代码
int main()
{
    int arr1[] = { 1,2,3,4,1005,6,7,86,34,12,44,675 };
    //我先创建一个非常简单的数组
    
    int sz = sizeof(arr1) / sizeof(arr1[0]);
    int right = sz - 1;
    int left = 0;
    int a = arr1[left];
    while (left <= right)
    {
        if (arr1[left] > a)
        {
            a = arr1[left];
        }
        left++;
    }
    printf("最大值是:%d", a);
    return 0;
}

//输出简易九九乘法口诀表

c 复制代码
int main()
{
    int i = 0;
    int j = 0;
    for (i = 1;i <= 9;i++)
    {
        for (j = 1;j <= i;j++)
        {
            printf("%dx%d=%d  ", i, j, i * j);
        }
        printf("\n");
    }
    return 0;
}

//猜数字游戏

c 复制代码
#include<stdio.h>
#include<time.h>
//由系统给出指定的随机值
void menu()
{
    printf("*********************\n");
    printf("*1.开始*****0.结束***\n");
    printf("*********************\n");
}

void game()
{
    int ret = 0;
    int guess = 0;
     ret = rand() % 100 + 1;
    while (1)
    {
        printf("请输入您猜测的数字的数字:\n");
        scanf("%d", &guess);
        if (guess < ret)
        {
            printf("您输入的太小了");
        }
        else if (guess > ret)
        {
            printf("您输入的数字大了");
        }
        else
        {
            printf("恭喜你猜对啦");
            break;
        }
    }
}

int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));
    do
    {
        menu();
        scanf("%d", &input);
        switch (input)
        {
        case 1: game();
            break;
        case 0: 
            printf("游戏结束\n");
            break;
        default: 
            printf("输入非法\n");
            break;
        }
    } while (input);
    return 0;
}
相关推荐
散峰而望7 小时前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法
知乎的哥廷根数学学派7 小时前
基于多尺度注意力机制融合连续小波变换与原型网络的滚动轴承小样本故障诊断方法(Pytorch)
网络·人工智能·pytorch·python·深度学习·算法·机器学习
蚊子码农8 小时前
算法题解记录-208实现Trie前缀树
运维·服务器·算法
2301_800256118 小时前
【人工智能引论期末复习】第3章 搜索求解2 - 对抗搜索
人工智能·算法·深度优先
程序猿阿伟8 小时前
《量子算法开发实战手册:Python全栈能力的落地指南》
python·算法·量子计算
wen__xvn8 小时前
代码随想录算法训练营DAY13第六章 二叉树part01
数据结构
木子02048 小时前
Java8集合list.parallelStream() 和 list.stream() 区别
数据结构·list
不爱吃糖的程序媛8 小时前
OpenHarmony 通用C/C++三方库 标准化鸿蒙化适配
c语言·c++·harmonyos
老鼠只爱大米8 小时前
LeetCode算法题详解 438:找到字符串中所有字母异位词
算法·leetcode·双指针·字符串匹配·字母异位词·滑动窗口算法
地平线开发者8 小时前
征程 6 | 平台 QAT 精度一致性问题分析流程
算法·自动驾驶