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;
}在一個(gè)有序數(shù)組中查找具體的某個(gè)數(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;
}編寫代碼,演示多個(gè)字符從兩端向中間匯聚
#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;
}模擬用戶登錄情景
密碼最多輸入三次,,正確則提示輸入成功,輸入三次錯(cuò)誤就退出程序
兩個(gè)字符的比較不能使用==,應(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("請(qǐng)輸入密碼:");
scanf("%s",passsword);
if(strcmp(password,"abcdef")==0)
{
printf("密碼正確\n");
break;
}
else
{
printf("密碼錯(cuò)誤,重新輸入\n");
}
}
if (i == 3)
{
printf("三次密碼均錯(cuò)誤,退出程序\n");
}
return 0;
}到此這篇關(guān)于C語言中循環(huán)語句練習(xí)實(shí)例的文章就介紹到這了,更多相關(guān)C語言循環(huán)語句內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)字符串分割的實(shí)例
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)字符串分割的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10
基于errno返回值的對(duì)應(yīng)錯(cuò)誤碼的詳細(xì)介紹
本篇文章是對(duì)errno返回值的對(duì)應(yīng)錯(cuò)誤碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C語言實(shí)現(xiàn)各種排序算法實(shí)例代碼(選擇,冒泡,插入,歸并,希爾,快排,堆排序,計(jì)數(shù))
排序算法是算法之中相對(duì)基礎(chǔ)的,也是各門語言的必學(xué)的算法,這篇文章主要介紹了C語言實(shí)現(xiàn)各種排序算法(選擇,冒泡,插入,歸并,希爾,快排,堆排序,計(jì)數(shù))的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10
FFmpeg實(shí)現(xiàn)變速播放的兩種方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了FFmpeg中實(shí)現(xiàn)變速播放的兩種方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2023-07-07
解析在main函數(shù)之前調(diào)用函數(shù)以及對(duì)設(shè)計(jì)的作用詳解
本篇文章是對(duì)在main函數(shù)之前調(diào)用函數(shù)以及對(duì)設(shè)計(jì)的作用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
基于Qt實(shí)現(xiàn)的自定義樹結(jié)構(gòu)容器
在Qt框架中,盡管其提供了許多強(qiáng)大的容器類,但缺少一個(gè)通用的、靈活的樹結(jié)構(gòu)容器,所以本文將設(shè)計(jì)并實(shí)現(xiàn)一個(gè)可復(fù)用的自定義樹結(jié)構(gòu)容器,需要的可以參考下2024-12-12

