代码练习
代碼練習
- 1. 計算 n的階乘。
- 2. 計算 1!+2!+3!+……+10!
- 3. 在一個有序數(shù)組中查找具體的某個數(shù)字n。 編寫int binsearch(int x, int v[], int n); 功能:在v[0]<=v[1]<=v[2]<= ….<=v[n-1]的數(shù)組中查找x.
- 4. 編寫代碼,演示多個字符從兩端移動,向中間匯聚。
- 5. 編寫代碼實現(xiàn),模擬用戶登錄情景,并且只能登錄三次。(只允許輸入三次密碼,如果密碼正確則提示登錄成,如果三次均輸入錯誤,則退出程序。
1. 計算 n的階乘。
在main函數(shù)里面實現(xiàn)
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>; #include<stdlib.h>;int main() {int ret = 1;printf("請輸入一個整型數(shù)字\n");int num = 0;scanf("%d", &num);for (int i = 1; i <= num; i++) {ret *= i;}printf("num的階乘為%d", ret);return 0; }使用函數(shù)實現(xiàn)
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h>int jiecheng(int num) {int ret = 1;for (int i = 1; i <= num; i++) {ret *= i;}return ret; } int main() {printf("請輸入一個整型數(shù)字\n");int num = 0;scanf("%d", &num);int ret = jiecheng(num);printf("num的階乘為%d", ret);return 0; }2. 計算 1!+2!+3!+……+10!
如下
#include<stdio.h> #include<stdlib.h>int jiecheng(int num) {int ret = 1;for (int j = 1; j<= num; j++) {ret *= j;}return ret; } int main() {int sum = 0;for (int i = 1; i < 11; i++) {sum += jiecheng(i);}printf("1到10的階乘總和為%d\n", sum);system("pause");return 0; }3. 在一個有序數(shù)組中查找具體的某個數(shù)字n。 編寫int binsearch(int x, int v[], int n); 功能:在v[0]<=v[1]<=v[2]<= ….<=v[n-1]的數(shù)組中查找x.
二分查找(適用于有序數(shù)組)
比如 arr[ ] = {1,2,3,4,5,6,7,8,9};
下標mid = (0+8)/2 = 4 故中間位置的下標為4.
再用提供的key值和中間下標的元素比較大小
若是key值比arr[mid]的值大 則在右邊元素找,并將left = mid + 1
若是key值比arr[mid]的值小 則在左邊元素找,并將right = mid -1
一直循環(huán)直到找到對應元素的下標
4. 編寫代碼,演示多個字符從兩端移動,向中間匯聚。
#include<stdio.h> #include<string.h> #include<Windows.h>int main() {char ch1[] = "welcome to bit!!";char ch2[] = "################";int left = 0;int right = strlen(ch1) - 1;printf("%s\n", ch2);while (left <= right) {Sleep(1000);ch2[left] = ch1[left];ch2[right] = ch1[right];left++;right--;system("cls");printf("%s", ch2);}return 0; }5. 編寫代碼實現(xiàn),模擬用戶登錄情景,并且只能登錄三次。(只允許輸入三次密碼,如果密碼正確則提示登錄成,如果三次均輸入錯誤,則退出程序。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h>int main() {char ch[] = "1234";char password []= " ";printf("請輸入您的密碼\n");int i = 0;for (; i < 3; i++) {scanf("%s", password);if (strcmp(password, ch) == 0) {printf("成功登入系統(tǒng)\n");break;}else {printf("密碼錯誤還剩余%d次機會", 2 - i);}}if (i > 3) {printf("您的次數(shù)已用完,無法再次登錄");}return 0; }總結
- 上一篇: 水鱼 学习回顾 <1>
- 下一篇: C语言如何使用函数交换两个变量的值