目录
(1)编写程序数一下1-100的所有整数中出现多少个数字9
(2)计算1/1-1/2+1/3-1/4+......+1/99-1/100的值,打印结果
(3)求十个整数中的最大值
(4)在屏幕上输出九九乘法口诀表
(5)二分查找元素
(6)猜数字游戏
(1)编写程序数一下1-100的所有整数中出现多少个数字9
//编写程序数一下1-100的所有整数中出现多少个数字9
int count = 0;
int CountNumber(int a, int b, int c) {for (int i = a; i <= b; i++) {if (i%10==c) {count++; //个位是c}int j = i; //利用j记录i的值,防止后续while循环修改i的值while (j/10!=0) //判断是否每一位都检查到了{ if ((j/10)%10==c) //检查十位是否有c{count++;}j = j / 10; //依次检查前一位,直到j/10==0}}return count;
}
int main() {int x, y, z;printf("起始数字\n");scanf("%d", &x);printf("终止数字\n");scanf("%d", &y);printf("查询数字\n");scanf("%d", &z);printf("有%d个\n", CountNumber(x,y,z));return 0;
}
(2)计算1/1-1/2+1/3-1/4+......+1/99-1/100的值,打印结果
int main() {double sum=0.0;int flag = 1;for (int i = 1; i <= 100; i++) {sum += flag*1.0 / i; //注意不是flag*1,因为这样就是整型变量在运算flag = -flag;}printf("%lf", sum);return 0;
}
(3)求十个整数中的最大值
int main() {int arr[10] = { -1,-22,-3,-904,-25,-36,-47,-18,-29,-14 };int max = arr[0]; //不能让max=0,因为如果全是负数这种情况下结果就会出错for (int i = 1; i < 10; i++) {if (max < arr[i]) {max = arr[i];}}printf("%d", max);return 0;
}
(4)在屏幕上输出九九乘法口诀表
//在屏幕上输出九九乘法口诀表
int main() {for (int i = 1; i < 10; i++) {for (int j = 1; j <=i; j++) {printf("%d*%d=%d\t",i,j, i * j);}printf("\n");}return 0;
}
(5)二分查找元素
int binary_search(int a,int brr[],int x) {int low = 0;int high = x- 1;int mid;while (low<=high){mid = (low + high) / 2;if (brr[mid] == a){return mid;}else if(brr[mid]>a) {high = mid - 1;}else{low = mid + 1;}}return -1;
}
int main() {int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int key;int sz = sizeof(arr) / sizeof(arr[0]) - 1;//数组长度必须提前求好再传入函数,原因可查看博主相关博客scanf("%d", &key);int ret = binary_search(key,arr,sz);if (-1 == ret) {printf("找不到\n");}else{printf("找到了,下标是:%d\n", ret);}return 0;
(6)猜数字游戏
void menu() {printf("*****************************\n");printf("***********1.进行游戏********\n");printf("***********0.退出游戏********\n");printf("*****************************\n");}
int main() {int a;srand((unsigned int)time(NULL)); //关于随机值的选取可以查看博主相关博客do{menu();printf("请输入\n");scanf("%d", &a);switch (a){case 1:{int c = rand() % 100 + 1;while (1) {printf("请猜数字\n");int b;scanf("%d", &b);if (b == c) {printf("你猜对了\n");break;}else if (b > c) {printf("你猜的数字大了\n");}else{printf("你猜的数字小了\n");}}}break; case 0:printf("退出游戏");break;default:printf("选择错误,请重新选择\n");break;}} while (a);return 0;
}