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("%lf\n",sum);

    return 0;

}

1.分数求和2.数9的数3.猜数字游戏4.二分查找_第1张图片

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("%d\n",b);

    return 0;

}

1.分数求和2.数9的数3.猜数字游戏4.二分查找_第2张图片

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;

}

1.分数求和2.数9的数3.猜数字游戏4.二分查找_第3张图片

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;

}

1.分数求和2.数9的数3.猜数字游戏4.二分查找_第4张图片

1.分数求和2.数9的数3.猜数字游戏4.二分查找_第5张图片

你可能感兴趣的:(c语言,算法,开发语言)