C语言远征之基础篇
c語言遠(yuǎn)征第五天
1.寫代碼可以在整型有序數(shù)組中查找想要的數(shù)字, 找到了返回下標(biāo),找不到返回-1.(折半查找)
#include <stdio.h> #include <stdlib.h> #include <string.h>int Bin_Search(int arr[], int key,int* p) {int left = 0;int right = *p;int mid = 0;while (left <= right){mid = (left + right) >> 1;if (arr[mid] < key){left = mid + 1;}else if (arr[mid] > key){right = mid - 1;}else{return mid;}}if (left > right){return -1;} } int main() {int arr1[] = { 1,2,3,4,5,6,7,8,9 };int tmp = (sizeof(arr1)/sizeof(arr1[0]) - 1);int a = 0;a=Bin_Search(arr1,7,&tmp);printf("%d\n", a);system("pause");return 0; }2.編寫代碼模擬三次密碼輸入的場(chǎng)景。 最多能輸入三次密碼,密碼正確,提示“登錄成功”,密碼錯(cuò)誤, 可以重新輸入,最多輸入三次。三次均錯(cuò),則提示退出程序。
char passward[] = "2754ska"; char key[]=""; int i = 0; printf("請(qǐng)輸入密碼:>"); scanf("%s", &key); for (;i<2;i++) { if (strcmp("2754ska", key) == 0) { break; } else { printf("請(qǐng)?jiān)俅屋斎朊艽a:>"); scanf("%s", &key); } } if (i < 2) { printf("登錄成功\n"); } else { printf("超出輸入上限\n"); }3.編寫一個(gè)程序,可以一直接收鍵盤字符, 如果是小寫字符就輸出對(duì)應(yīng)的大寫字符, 如果接收的是大寫字符,就輸出對(duì)應(yīng)的小寫字符, 如果是數(shù)字不輸出。
int ch; printf("請(qǐng)輸入一個(gè)字符:>"); while ((ch = getchar()) != EOF) {if ('a' <= ch && ch <= 'z'){printf("%c\n", ch - 32); }elseif ('A' <= ch && ch <= 'Z'){printf("%c\n", ch + 32);}else{if ('0' <= ch && ch <= '9');else;} }hold on!!!
總結(jié)
- 上一篇: Python 每日一题(猴子吃桃问题)
- 下一篇: 如何定位前后端Bug?