for循环
- 编写程序数一下 1到 100 的所有整数中出现多少个数字9
- 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
- 求10 个整数中最大值
- 在屏幕上输出9*9乘法口诀表
- 二分查找
编写程序数一下 1到 100 的所有整数中出现多少个数字9
#include <stdio.h>int main()
{int count = 0;for (int i = 1; i <= 100; i++){if (i % 10 == 9)count++;if (i / 10 == 9)count++;}printf("%d\n", count);return 0;
}
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
#include <stdio.h>int main()
{int i = 0;double sum = 0;int flag = 1;for (i = 1; i <= 100; i++){sum = sum + (flag) * (1.0 / i);flag = -flag;}printf("%lf\n", sum);return 0;
}
求10 个整数中最大值
#include <stdio.h>int main()
{int arr[10] = { 0,1,3,5,-1,2,7,8,4,-2 };int max = arr[0];for (int i = 1; i < 10; i++){if (arr[i] > max)max = arr[i];}printf("%d\n", max);return 0;
}
在屏幕上输出9*9乘法口诀表
#include <stdio.h>int main()
{for (int i = 1; i <= 9; i++){for (int j = 1; j <= i; j++){printf("%d*%d=%-2d ", j, i, j * i);}printf("\n");}return 0;
}
二分查找
编写代码在一个整形有序数组中查找具体的某个数
要求:找到了就打印数字所在的下标,找不到则输出:找不到。
#include <stdio.h>int main()
{int arr[] = { 0,1,2,3,4,5,6,7,8,9 };int k = 0;scanf("%d", &k);int left = 1;int right = sizeof(arr) / sizeof(arr[0]);while (left <= right){int mid = left + (right - left) / 2;if (k > arr[mid-1])left = mid + 1;else if (k < arr[mid-1])right = mid - 1;else{ printf("找到了,下标: %d\n", mid-1);break;}}if (left > right)printf("找不到\n");return 0;
}