当前位置: 首页 > news >正文

C语言中循环语句的一些简单运用

这段代码演示了C语言中循环语句的几种实际应用,包括计算阶乘,二分法查找,以及字符顺序演示。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <Windows.h>//内涵延时函数
#include <stdlib.h>//包含系统命令函数
#include <string.h>//包含与字符串相关的函数
int main()
{
//想办法(编程思维)+写代码(语法)

//计算i的阶乘
printf("1.计算10的阶乘\n");
int i=10;
int i_i=1;
for (;i > 0;i--)
{
i_i*=i;
}
printf("%d\n\n",i_i);

//1到10的阶乘相加
printf("2.计算1到10的阶乘相加\n");
int n=0,sum=0,s = 1;
int k=10;
for (;k > 0;k--)
{
for (n=k;n > 0;n--)
{
s*=n;
}
sum+=s;
s=1;
}

printf("%d\n\n",sum);

//在有序数组中查找具体的某个数字num
printf("3.在有序数组中查找具体的某个数字num\n");
int arr[] = {0,1,2,3,4,5,6,7,8,9};
int num=5;
i=0;
int sz=sizeof(arr)/sizeof(arr[0]);
for (;i < sz;i++)
{
if(num==arr[i])
{
printf("%d ",arr[i]);
printf("下标是%d\n\n",i);
break;
}
}
if (i == sz)
{
printf("找不到\n");
}

//有序数组的二分法查找提高效率
printf("4.在有序数组中使用二分法查找具体的某个数字num\n");
//首先找到中间元素;比较,需要比较几次?
int mid;
num=7;
int left=0;
int right= (sizeof(arr) / sizeof(arr[0]))-1;
while (left<=right)
{
mid=(left+right)/2;
if (arr[mid] < num)
{
left=mid+1;
}
else if (arr[mid] > num)
{
right=mid-1;
}
else
{
printf("find it,下标是%d\n",mid);
break;
}
if (left > right)
{
printf("404 not found\n");
}
}

for (i = 5;i > 0;i--)
{
printf("\n 即将演示字符:%d\n",i);
Sleep(1000);
}
system("cls");//清屏
//演示字符
char arr1[]="ciallo ciallo ciallo!!!";
char arr2[]="#######################";
int min=0;
int max=sizeof(arr1)/sizeof(arr1[0])-2;
//数组的末尾是\0,比strlen()方法算多1,且下标应再减1
for (;min <= max;min++, max--)
{
arr2[min]=arr1[min];
arr2[max]=arr1[max];
printf("%s\n",arr2);
Sleep(500);
system("cls");
}
if (strcmp(arr1, arr2)==0)
//strcmp()用于比较两个字符串是否相等,相等返回值为0
//当然,这行代码是多余的
{
printf("%s\n", arr2);
}

return 0;
}

http://www.jsqmd.com/news/120700/

相关文章:

  • 算法:2.复写零
  • UVM Driver踩坑实录:reset+mainPhase跑不通?runPhase为何能一招解决
  • MCP的应用
  • MCP的应用
  • 多源异构数据采集与融合应用综合实践
  • Excalidraw离线使用指南:无网络环境下的应对策略
  • 2025年最新盘点:十大高口碑棕刚玉定制服务商,磨料/棕刚玉/白刚玉/不锈钢灰/铬刚玉/黑碳化硅/精密铸造砂/碳化硅棕刚玉品牌排行榜单 - 品牌推荐师
  • 如何构建一个 OpenAI 兼容的 API
  • 笨人小白的温故知新——排序(3)
  • Day8 判断集合成员 -卡码网C++基础课
  • Excalidraw网格与参考线:辅助精确定位
  • opencv和摄影测量坐标系的转换
  • Excalidraw直线箭头样式:多种类型任你选
  • 【开源免费】基于 STM32的远程环境监测系统(环境数据的实时感知与远程监测)
  • ExcalidrawAPI文档配图:接口调用流程展示
  • Excalidraw商业模式画布:创业团队战略讨论
  • aws 配置导出的SSL证书
  • Excalidraw家庭教育计划:孩子成长路径设计
  • Excalidraw思维导图玩法:结构化思考新工具
  • CSAPP 异常控制流
  • 基于Java+SpringBoot+SSM高校科研管理系统(源码+LW+调试文档+讲解等)/高校科研管理平台/高校科研信息管理系统/高校科研项目管理系统/高校科研成果管理系统/高校科研数据管理系统
  • 3.7 分段 Segmentation
  • Excalidraw常见问题汇总:官方FAQ精华整理
  • 从人到人机再到人机环境:东西方思想的融合
  • 近两百万人围观的Karpathy年终大语言模型清单,主角是它们
  • Excalidraw鱼骨图绘制:根本原因分析法实践
  • Excalidraw暗黑模式设置:夜间使用的护眼方案
  • Excalidraw与AI结合前景:未来功能演进预测
  • 分层模糊系统:梯度下降与递推最小二乘法联合辨识研究(Matlab代码实现)
  • Excalidraw用户体验监控:前端性能指标采集