news 2026/7/4 17:15:44

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/4 3:11:32

Excalidraw实现KANO模型:需求优先级排序

Excalidraw实现KANO模型&#xff1a;需求优先级排序 在产品管理的日常实践中&#xff0c;我们常面临这样一个困境&#xff1a;用户反馈如潮水般涌来&#xff0c;功能需求清单越拉越长&#xff0c;但资源有限、时间紧迫&#xff0c;到底该先做哪个&#xff1f;传统的优先级排序工…

作者头像 李华
网站建设 2026/7/3 23:23:21

基于Java+大数据+SSMB站数据分析可视化系统(源码+LW+调试文档+讲解等)/B站数据可视化/B站数据分析/B站分析系统/数据可视化系统/数据分析系统/B站数据平台/B站可视化工具

博主介绍 &#x1f497;博主介绍&#xff1a;✌全栈领域优质创作者&#xff0c;专注于Java、小程序、Python技术领域和计算机毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2025-2026年最新1000个热门Java毕业设计选题…

作者头像 李华
网站建设 2026/7/2 23:23:37

基于Python+大数据+SSMCBA球员数据可视化分析系统(源码+LW+调试文档+讲解等)/CBA球员数据展示系统/CBA球员数据统计系统/CBA球员数据分析平台/篮球数据可视化分析系统

博主介绍 &#x1f497;博主介绍&#xff1a;✌全栈领域优质创作者&#xff0c;专注于Java、小程序、Python技术领域和计算机毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2025-2026年最新1000个热门Java毕业设计选题…

作者头像 李华
网站建设 2026/6/30 9:37:52

Excalidraw导出PDF注意事项:格式保持完整

Excalidraw导出PDF注意事项&#xff1a;格式保持完整 在技术团队的日常协作中&#xff0c;一张架构图往往胜过千言万语。无论是向客户汇报系统设计&#xff0c;还是在站会上快速勾勒服务调用链路&#xff0c;可视化表达早已成为工程师沟通的“第二语言”。而随着远程办公常态化…

作者头像 李华
网站建设 2026/7/3 5:33:04

【C++】优选算法必修篇之双指针实战:移动零 复写零

应用场景 在算法中&#xff0c;双指针&#xff08;Two Pointers&#xff09; 是一种极具代表性的高效技巧。它通过维护两个索引或指针&#xff0c;在一次遍历中完成双层循环才能解决的问题&#xff0c;从而显著降低时间复杂度。常见的双指针形态主要分为两类&#xff1a;对撞指…

作者头像 李华
网站建设 2026/6/26 3:35:53

【C++】继承深度解析:继承方式和菱形虚拟继承的详解

一、继承方式1. 单继承一个派生类只有一个直接基类的时候称这个继承为单继承 Person ↓ Teacher ↓ Student &#xff08;单链&#xff09;代码语言&#xff1a;javascriptAI代码解释// 基类&#xff1a;人 class Person { public:string name;int age;void ShowPerson(){cout …

作者头像 李华