C语言中循环语句练习实例

 更新时间:2022年01月17日 08:54:14   作者:Ll_R_lL  
大家好,本篇文章主要讲的是C语言中循环语句练习实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

计算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;
}
计算1!+2!+3!+.....+10!
int main()
{计算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乘以任何数都为0
 for(n=1;n<=10;n++)
 {
     ret*=n;//阶乘
     sum+=ret;//求和
 }
 printf("%d\n",sum);
 reurn 0;
 }

在一个有序数组中查找具体的某个数字n

折半查找/二分查找(前提条件是数组有序)

left mid right

arr[mid]中间元素

 
int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int k=10;//查找k,k的值可以是数组中的任意数
	int sz = sizeof(arr) / sizeof(arr[0]);//40/4
 
	int left = 0;
	int right = sz - 1;//-1是因为数组下标从0开始
 
	while (left <= right)//不能漏掉=
	{
		int mid = left + (right-left) / 2;//中间元素必须放到循环里面
		//int mid = (left + right) / 2;
		if (arr[mid] < k)
		{
			left = mid + 1;
 
		}
		else if (arr[mid] > k)
		{
			right = mid - 1;
		}
		else
		{
			printf("找到了下标是:%d\n", mid);
			break;
		}
	}
	if (left > right)
	{
		printf("找不到了\n");
 
	}
	return 0;
}

编写代码,演示多个字符从两端向中间汇聚

#include<string.h>
#include<windows.h>
#include<stdio.h>
 
int main()
{
    //下标从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; 
}

模拟用户登录情景

密码最多输入三次,,正确则提示输入成功,输入三次错误就退出程序

两个字符的比较不能使用==,应该使用strcmp

#include<string.h>
#include<stdio.h>
 
int main()
{
    int i = 0;
    char password[20] = {0};
    //假设正确密码是“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;
}

到此这篇关于C语言中循环语句练习实例的文章就介绍到这了,更多相关C语言循环语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言基础解析之分支与循环语句

    C语言基础解析之分支与循环语句

    C语言是一门结构化的程序设计语言,当C语言用来描述生活中的事物时,会用到三种结构:顺序结构(不去赘述),选择结构(对应分支语句),循环结构(对应循环语句),分支语句:分支语句分为两种,一种是if语句,一种是switch语句
    2021-09-09
  • 迷宫游戏控制台版C++代码

    迷宫游戏控制台版C++代码

    这篇文章主要为大家详细介绍了迷宫游戏控制台版C++代码,可以调整大小的迷宫游戏,给定迷宫的入口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • C++ OpenCV单峰三角阈值法Thresh_Unimodal详解

    C++ OpenCV单峰三角阈值法Thresh_Unimodal详解

    本文主要介绍了适合当图像的直方图具有明显单峰特征时使用,结合了三角法的原理而设计的图像分割方法,感兴趣的小伙伴可以了解一下
    2021-12-12
  • C++ vector的介绍及常见功能实现

    C++ vector的介绍及常见功能实现

    这篇文章主要介绍了C++ vector的介绍及模拟实现,vector在实际中非常的重要,但在实际中我们只要熟悉常见的接口就可以了,最重要的是理解他的底层原理,要能够自己模拟实现出一个简单的vector,本文结合示例代码给大家详细介绍,需要的朋友可以参考下
    2023-05-05
  • C++中的构造函数与析造函数详解

    C++中的构造函数与析造函数详解

    这篇文章主要介绍了C++中的构造函数与析造函数详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • 清除3389远程登录日志

    清除3389远程登录日志

    这篇文章主要介绍了清除3389远程登录日志示例,需要的朋友可以参考下
    2014-01-01
  • C语言实现学生奖学金评定系统

    C语言实现学生奖学金评定系统

    这篇文章主要介绍了C语言实现学生奖学金评定系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C++标准模板库map的常用操作

    C++标准模板库map的常用操作

    今天小编就为大家分享一篇关于C++标准模板库map的常用操作,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C++ RBTree红黑树的性质与实现

    C++ RBTree红黑树的性质与实现

    红黑树是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black;通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是平衡的
    2023-03-03
  • C++实现LeetCode(73.矩阵赋零)

    C++实现LeetCode(73.矩阵赋零)

    这篇文章主要介绍了C++实现LeetCode(73.矩阵赋零),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论