B站比特学习打卡第六天(3天学习内容整合)

时间:2022-10-03 21:54:46

呜呜呜,分支与循环语句确实学完了,但是老师给的练习好难啊!!!一个练习题自己琢磨加上打代码跑代码纠错的时间差不多两个小时!!!

//        综合练习之二分法寻找有序数组的某一整数

int ar[] = { 4,8,9,11,14,15,17,21,30 };

int sz = sizeof(ar) / sizeof(ar[0]); //数组所含整数数量

int left = 0; //左下标

int right = sz - 1; //右下标

int mid = (left + right) / 2; //中间下标取值

int k = 30; //所要查找的数字

while(left <= right)

{

int mid = (left + right) / 2;

if (ar[mid] < k)

{

left = mid + 1;

}

else if(ar[mid] > k)

{

right = mid - 1;

}

else

{

printf("\n已查找到,下标为:%d\n",mid);

break;

}

}

if (left > right)

printf("\n未查找到");



// 综合练习之实现字符逐渐向中间靠拢的效果

char arr3[] ="Thanks for your help";

char arr4[] ="********************";

int left1 = 0;

int right1 = sizeof(arr4)/sizeof(arr4[0]) - 2; //-2的原因:

int rihgt1 = strlen(arr4) - 1;

while(left1 <= right1)

{

arr4[left1] = arr3[left1]; //赋值时是把右边的赋值给左边的!!!!!!!!!

arr4[right1] = arr3[right1];

printf("%s\n", arr4);

Sleep(500);

system("cls");

left1++; right1--;

}

printf("%s\n", arr4);



// 综合练习之实现普遍用户输入密码情景

int ii = 0;

char iii[20] = {}; //使用scanf输入函数命名某一变量的时候需要配套使用char命名空数组!!!!

int Y = 1;

for (ii = 1; ii <= 3; ii++)

{

printf("请输入密码:");

scanf("%s", &iii);

if (strcmp(iii ,"6700") == 0) // == / != 均不能用来判断字符串,若要使用应加上库函数“strcmp” <该库函数需要引用头文件<string.h>>

{

printf("登录成功\n");

break;

}

printf("密码错误,请重试\n");

}

if (strcmp(iii,"6700") != 0)

printf("三次登录均失败,请退出\n");



// 综合练习之求两个数的最小公倍数

int m1 = 0; int n1 = 0; int k1 = 0;

scanf("%d %d", &m1, &n1); //m1 > n1

while (k1 = m1 % n1)

{

m1 = n1;

n1 = k1;

}

printf("最小公倍数为%d\n", n1);


// 小知识点:sqrt - 开平方的数学库函数 <需要提前#include<math.h>>

别看他少,他的内容含量极其丰富【骄傲】

求助:scanf函数一生之敌!!!!!他的使用条件实在捉摸不透。

////    练习:输入1-10乘阶的和

//int n2 = 1; int n0; int sum0 = 0; int n1 = 0; int n3;

///*char getBuff;

//while (getBuff = getchar() != '\n' && getBuff != EOF);*/

//fflush(stdin);

//scanf("%d", &n1);

//for (n3 = 1; n3 <= n1; n3++)

//{

// n2 = 1;

// for (n0 = 1; n0 <= n1; n0++)

// {

// n2 = n0 * n2;

// }

// sum0 = sum0 + n2;

//}

//printf("总和是%d\n", sum0);

这块代码的scanf函数在单拿出来的时候正确无比,没有任何问题,跑出来非常完美,但是一放到整个源文件里就直接跳过,没给我输入的机会,而且结果自动判为零了【嘤嘤嘤】

有没有大神帮忙看看啊,感激不尽!!!