C語言中循環(huán)語句練習(xí)實(shí)例
計(jì)算n的階乘
int main() { int i=0; int ret=1; scanf("%d",&i); for(i=1;i<=n;i++) { ret=ret*i; } printf("%d\n",ret); return 0; }
計(jì)算1!+2!+3!+.....+10!
int main() {計(jì)算1!+2!+3!+.....+10! int i = 0; int j = 0; int sum = 0; int ret = 1; for (i = 1; i <= 3; i++) { ret = 1; for (j = 1; j <= i; j++) { ret = ret * j; }sum += ret; } printf("%d\n", sum); return 0; }//算法效率低
//效率高的方法 int main() { int n=0; int sum = 0; int ret = 1;//不可賦初值為0,0乘以任何數(shù)都為0 for(n=1;n<=10;n++) { ret*=n;//階乘 sum+=ret;//求和 } printf("%d\n",sum); reurn 0; }
在一個有序數(shù)組中查找具體的某個數(shù)字n
折半查找/二分查找(前提條件是數(shù)組有序)
left mid right
arr[mid]中間元素
int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int k=10;//查找k,k的值可以是數(shù)組中的任意數(shù) int sz = sizeof(arr) / sizeof(arr[0]);//40/4 int left = 0; int right = sz - 1;//-1是因?yàn)閿?shù)組下標(biāo)從0開始 while (left <= right)//不能漏掉= { int mid = left + (right-left) / 2;//中間元素必須放到循環(huán)里面 //int mid = (left + right) / 2; if (arr[mid] < k) { left = mid + 1; } else if (arr[mid] > k) { right = mid - 1; } else { printf("找到了下標(biāo)是:%d\n", mid); break; } } if (left > right) { printf("找不到了\n"); } return 0; }
編寫代碼,演示多個字符從兩端向中間匯聚
#include<string.h> #include<windows.h> #include<stdio.h> int main() { //下標(biāo)從0開始且減去\0所以得減去2 //sizeof(arr1)/sizeof(arr[0])-2;//4 //char arr[] = "abc"; //[a b c \0] char arr1[] = "welcome to bit!!!!!"; char arr2[] = "###################"; int left = 0; //int right = sizeof(arr1)/sizeof(arr[0])-2; int right strlen(arr1)-1; while (left <= right) { arr2[left] = arr1[left]; arr2[right] = arr1[right]; printf("%s\n",arr2); Sleep(1000);//單位是毫秒 system("cls"); left++; right--; } printf("%s\n",arr2); return 0; }
模擬用戶登錄情景
密碼最多輸入三次,,正確則提示輸入成功,輸入三次錯誤就退出程序
兩個字符的比較不能使用==,應(yīng)該使用strcmp
#include<string.h> #include<stdio.h> int main() { int i = 0; char password[20] = {0}; //假設(shè)正確密碼是“abcdef” for(i = 0; i < 3; i++) { printf("請輸入密碼:"); scanf("%s",passsword); if(strcmp(password,"abcdef")==0) { printf("密碼正確\n"); break; } else { printf("密碼錯誤,重新輸入\n"); } } if (i == 3) { printf("三次密碼均錯誤,退出程序\n"); } return 0; }
到此這篇關(guān)于C語言中循環(huán)語句練習(xí)實(shí)例的文章就介紹到這了,更多相關(guān)C語言循環(huán)語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言中枚舉與聯(lián)合體的使用方法(enum union)
枚舉的意思就是列舉,將每一個可能的取值都進(jìn)行一一列舉,下面這篇文章主要給大家介紹了關(guān)于C語言中枚舉與聯(lián)合體的使用方法,需要的朋友可以參考下2021-09-09C/C++經(jīng)典實(shí)例之模擬計(jì)算器示例代碼
最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關(guān)于C/C++經(jīng)典實(shí)例之模擬計(jì)算器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10C\C++實(shí)現(xiàn)讀寫二進(jìn)制文件的方法詳解
這篇文章主要為大家詳細(xì)介紹了C\C++實(shí)現(xiàn)讀寫二進(jìn)制文件的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解一下2023-03-03linux c 查找使用庫的cflags與libs的方法詳解
本篇文章是對在linux中使用c語言查找使用庫的cflags與libs的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++進(jìn)程間共享數(shù)據(jù)實(shí)例
這篇文章主要介紹了C++進(jìn)程間共享數(shù)據(jù)的方法,是進(jìn)行C++應(yīng)用程序開發(fā)中非常實(shí)用的技巧,需要的朋友可以參考下2014-10-10