栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

1.分数求和2.数9的数3.猜数字游戏4.二分查找

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1.分数求和2.数9的数3.猜数字游戏4.二分查找

1.分数求和

计算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("%lfn",sum);

    return 0;

}

2.数9的个数

编写程序数一下 1到 100 的所有整数中出现多少个数字9

#include

int main()

{

    int a;

    int b=0;

    for(a=1;a<100;a++)

    {

        if(a/10 == 9 || a%10 == 9)

        {

        b=b+1;

        }

    }

    printf("%dn",b);

    return 0;

}

3.猜数字游戏

猜100之内的数字,会有提示

#include

#include

void menu()

{

    printf("*******************************n");

    printf("**** 1.play 0.exit ****n");

    printf("*******************************n");

}

void game()

{

//1.生成一个随机数

    int ret = 0;

    int guess = 0;//接收猜的数字

//拿时间戳来中设置随机数的生成起始点

//time_t time(time_t *timer)

//time_t

    ret = rand()%100+1;//生成1-100之间的随机数

//2.猜数字

    while(1)

    {

        printf("请猜数字:>");

        scanf("%d",&guess);

        if(guess>ret)

        {

            printf("猜大了n");

        }

        else if(guess

        {

            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;

}

4.二分查找

编写代码在一个整形有序数组中查找具体的某个数

要求:找到了就打印数字所在的下标,找不到则输出:找不到。

int binary_search(int arr[],int k,int sz)

{

//算法实现

int left = 0;

int right = sz-1;

while(left<=right)

{

int mid=(left+right)/2;

if(arr[mid]

{

left=mid+1;

}

else if(arr[mid]>k)

{

right=mid-1;

}

else

{

return mid;

}

}

return -1;

}

int main()

{

//二分查找

//在一个有序数组中查找具体的某个数

int arr[]={1,2,3,4,5,6,7,8,9,10};

int k = 11;

int sz=sizeof(arr)/sizeof(arr[0]);

int ret=binary_search(arr,k,sz);

if(ret == -1)

{

printf("找不到指定数字n");

}

else

{

printf("找到了,下标是%d",ret);

}

return 0;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1034242.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号