//9.17
//int main()
//{
// int i = 0;
// for (i = 1; i <= 10; i++)
// {
//
//
// /*if (i == 5)
// break;*/
//
// if (i == 5)
// continue;
// printf("%d ", i);
//
// }
//
// return 0;
//}
//int main()
//{
// int i = 0;
// for (i = 1; i <= 10; i++)
// {
// printf("%d ", i);
//
//
// }
// return 0;
//}
//int main()
//{
// //判断部分的省略-判断部分恒为真
// for (;;)
//
// {
// printf("hehe\n");
// }
// return 0;
//}
//int main()
//{
// int i = 0;
// int j = 0;
// for (i = 0; i < 3; i++)
// {
//
// for (j = 0; j < 3; j++)
// {
// printf("hehe\n");
// }
//
//
//
// }
// return 0;
//}
//int main()
//{
// int i = 0;
// int j = 0;
// for (; i < 3; i++)
// {
//
// for (; j < 3; j++)
// {
// printf("hehe\n");
// }
// }
// return 0;
//}
//int main()
//{
// int i = 1;
// do
// {
// if (i == 5)
// ///*break;*/
// continue;
// printf("%d ", i);
// i++;
// } while (i<=10);
//
// return 0;
//}
//题目1 计算n的阶乘
//int main()
//{
// int i = 0;
// int n = 0;
// int ret = 1;
// scanf("%d", &n);
// for (i = 1; i <= n; i++)
// {
// ret *= i;
// }
// printf("%d\n", ret);
//
// return 0;
//}
//题目2 计算1!+2!+...+10!
//int main()
//{
// int i = 0;
// int n = 0;
// int ret = 1;
// int sum = 0;
//
// for (n = 1; n <= 3; n++)
// {
// ret = 1;//计算n的阶乘之前,把ret初始为1
// for (i = 1; i <= n; i++)
// {
//
// ret *= i;
// }
// sum += ret;
// }
// printf("%d\n", sum);
//
// return 0; //效率较低
//}
//int main()
//{
// int i = 0;
// int n = 0;
// int ret = 1;
// int sum = 0;
//
// for (n = 1; n <= 3; n++)
// {
// ret *= n;
// sum += ret;
//
// }
// printf("%d\n", sum);
//
// return 0;
//}
//3. 在一个有序数组中查找具体的某个数字n。
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k = 7;//要查找的数字
//在arr这个有序的数组中查找k(7)的值
int sz = sizeof(arr) / sizeof(arr[0]);//数组的元素个数
int left = 0;
int right = sz - 1;
while (left<=right)
{
int mid = (left + right) / 2;
if (arr[mid] < k)
{
left = mid + 1;
}
else if (arr[mid] > k)
{
right = mid - 1;
}
else
{
printf("找到了,下标是:%d\n", mid);
break;
}
}
if (left > right)
{
printf("找不到了\n");
}
return 0;
}
|