【重拾C语言】四、循环程序设计典例整理(最大公因数、阶乘求和、正整数翻译、打印字符方阵、斐波那契数列……)

news2024/11/17 17:41:29

目录

前言

四、循环程序设计

4.3 程序设计实例

4.3.1 求两数最大公因数

4.3.2 阶乘求和

4.3.3 正整数翻译

4.3.4 打印字符方阵

4.3.5 百钱百鸡问题 

4.3.6 斐波那契数列

4.3.7 迭代法解方程


前言

ChatGPT

        C语言是一种通用的、过程式的计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代初开发。它被设计成一种简单、高效和可移植的语言,用于系统级编程和应用程序开发。

以下是C语言的一些主要特点:

1. 结构化编程:C语言支持结构化编程,它提供了顺序执行、条件语句(如if-else和switch)和循环结构(如for和while),使程序更易于阅读、理解和维护。

2. 中级语言:C语言同时具备高级语言和低级语言的特点。它提供了丰富的控制结构和操作符,可以直接访问内存和硬件,并且允许程序员进行底层的操作,如位操作和指针运算。

3. 可移植性:C语言编写的程序具有很高的可移植性,因为它的语法和特性在不同的计算机系统上基本保持一致。这使得程序可以在不同的平台上进行编译和执行,而无需对代码进行太多的修改。

4. 强大的标准库:C语言提供了一个丰富的标准库,其中包含了各种函数和工具,用于处理输入输出、字符串操作、内存管理、数学运算等。这些函数可以提高程序开发的效率,并且可以跨平台使用。

5. 面向系统编程:由于C语言具有直接访问内存和硬件的能力,它经常用于开发操作系统、嵌入式系统和驱动程序等底层软件。C语言还提供了位操作和指针等特性,使得程序员可以更好地控制系统资源。

6. 扩展性:C语言允许程序员编写自定义的函数和库,以扩展语言的功能。这使得C语言非常适合大型项目的开发,可以将代码组织成模块化的结构,并通过函数调用进行复用。

        尽管C语言相对较为底层,但它仍然是一种非常重要和广泛应用的编程语言。它为程序员提供了强大的控制能力和性能优势,并且在各种领域,如系统编程、嵌入式开发、游戏开发等方面都得到了广泛应用。许多现代编程语言,如C++、Java和Python,都受到了C语言的影响,并在其基础上进行了扩展和改进。

四、循环程序设计

4.3 程序设计实例

4.3.1 求两数最大公因数

#include <stdio.h>

int main() {
    int num1, num2;
    printf("请输入两个整数:");
    scanf("%d %d", &num1, &num2);

    int gcd;
    for (int i = 1; i <= num1 && i <= num2; i++) {
        if (num1 % i == 0 && num2 % i == 0) {
            gcd = i;
        }
    }

    printf("最大公因数是:%d\n", gcd);

    return 0;
}

4.3.2 阶乘求和

       使用循环来计算一系列数字的阶乘并求和。

#include <stdio.h>

int main() {
    int n;
    printf("请输入一个正整数:");
    scanf("%d", &n);

    int factorial = 1;
    int sum = 0;

    for (int i = 1; i <= n; i++) {
        factorial *= i;
        sum += factorial;
    }

    printf("阶乘和为:%d\n", sum);

    return 0;
}

4.3.3 正整数翻译

        使用循环来将一个正整数翻译成对应的字符串表示。

4.3.4 打印字符方阵

#include <stdio.h>

int main() {
    int size;
    printf("请输入方阵的大小:");
    scanf("%d", &size);

    if (size <= 0) {
        printf("无效的大小!请输入一个正整数。\n");
        return 0;
    }

    char character;
    printf("请输入要打印的字符:");
    scanf(" %c", &character);

    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            printf("%c ", character);
        }
        printf("\n");
    }

    return 0;
}

4.3.5 百钱百鸡问题 

        百钱百鸡问题是一个经典的数学问题,它可以通过穷举法解决。问题的描述如下:假设有100个钱和100只鸡,其中公鸡每只5钱,母鸡每只3钱,小鸡三只1钱。现在要用100钱买100只鸡,问公鸡、母鸡和小鸡各有多少只?

#include <stdio.h>

int main() {
    printf("公鸡数量\t母鸡数量\t小鸡数量\n");

    for (int x = 0; x <= 20; x++) {
        for (int y = 0; y <= 33; y++) {
            int z = 100 - x - y;
            if (5 * x + 3 * y + z / 3 == 100 && z % 3 == 0) {
                printf("%d\t\t%d\t\t%d\n", x, y, z);
            }
        }
    }

    return 0;
}

4.3.6 斐波那契数列

#include <stdio.h>

int main() {
    int n = 10; // 需要计算斐波那契数列的项数
    int a = 0, b = 1, temp, i;

    printf("斐波那契数列前 %d 项:\n", n);
    printf("%d %d ", a, b);

    for (i = 2; i < n; i++) {
        temp = a + b;
        printf("%d ", temp);
        a = b;
        b = temp;
    }
    printf("\n");

    return 0;
}

4.3.7 迭代法解方程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1060106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL与关系数据库基本操作

SQL与关系数据库基本操作 文章目录 第一节 SQL概述一、SQL的发展二、SQL的特点三、SQL的组成 第二节 MySQL预备知识一、MySQL使用基础二、MySQL中的SQL1、常量&#xff08;1&#xff09;字符串常量&#xff08;2&#xff09;数值常量&#xff08;3&#xff09;十六进制常量&…

JAVA学习(3)-全网最详细~

回顾 昨天学了 Java 中的数据类型-整型 int - integer,以及什么是标识符identifier和它的命名规则,什么是保留字(reserved word key word),最后还谈到了Java变量包括局部变量和成员变量(在类内部,方法外部的变量),变量必须要初始化,否则会报错.如果有遗忘或者是感兴趣的小伙伴…

ESLint自动修复代码规范错误

基于 vscode 插件 ESLint 高亮错误&#xff0c;并通过配置 自动 帮助我们修复错误 在设置中 settings.json添加这段代码就自动修复错误 // 当保存的时候&#xff0c;eslint自动帮我们修复错误 "editor.codeActionsOnSave": { "source.fixAll": true }, /…

免费app签名分发平台应用cdn分发平台为什么会免费?商业分析他的盈利模式

近年来&#xff0c;随着移动应用的迅速发展&#xff0c;免费app签名分发平台和应用CDN分发平台日益受到开发者和用户的关注。本报告旨在分析这些平台的商业模式&#xff0c;探讨其利润点、营销点以及所采取的优势。 一、商业模式分析&#xff1a; 广告收入&#xff1a; 免费a…

Hive【Hive(五)函数-高级聚合函数、炸裂函数】

高级聚合函数 多进一出&#xff08;多行输入&#xff0c;一个输出&#xff09; 普通聚合函数&#xff1a;count、sum ... 1&#xff09;collect_list&#xff08;&#xff09;&#xff1a;收集并形成 list 集合&#xff0c;结果不去重 select sex,collect_list(job) from e…

机器学习笔记(二)

过拟合 如下图左边,模型出现了过拟合现象 为了解决过拟合现象, 其中一个做法是多收集数据,如右图。 第二种做法是减少模型的特征数量,即x 第三种做法是正则化 正则化就是减少x前面的参数 w的数值, 不用消除x 正则化的梯度下降如下, 因为只是缩小了w的值,而 b的值保持不变 …

项目测试练习

项目背景项目功能测试计划Bug总结升级自动化测试正常登录流程 项目背景 1&#xff1a;博客之站系统是采用前后端分离的方式来实现&#xff1b;使用MySQL、Redis数据库储存相关数据&#xff1b;同时部署到云服务器上。 2&#xff1a;包含注册页、登录页、博客列表页、个人列表页…

vs2015 安装插件

大部分插件可以在这个网页下载到 All categories Extensions - Visual Studio Marketplace 对于一些安装报错的插件&#xff0c;一般都是因为插件的版本与当前vs版本不兼容&#xff0c;解决办法&#xff08;以插件Viasfora为例&#xff09;&#xff1a; 从最近的往下逐个版本试…

“入门C++编程需要多长时间?如何高效学习?“

文章目录 每日一句正能量前言一、c 发展方向二、学c语言编程难吗&#xff1f;三、多久能学会编程&#xff1f;四、“浸泡”理论五、C语言特有特性六、学习方式后记 每日一句正能量 低头要有勇气&#xff0c;抬头要有底气。做人要能屈能伸&#xff0c;顺景时不嚣张&#xff0c;逆…

仿真调试说明——摘抄龙芯杯官方文件

1.仿真调试说明 你需要具备以下知识&#xff1a; 仿真工具的使用&#xff0c;比如Vivado的XsimVerilog的基本语法 通过本文的学习&#xff0c;你将获得&#xff1a;各类仿真错误排查的方法CPU逻辑出错的调试指导Verilog 运算符的优先级 1.1 调试指导思想概述 全局上的调试原…

ChainForge:衡量Prompt性能和模型稳健性的GUI工具包

ChainForge是一个用于构建评估逻辑来衡量模型选择&#xff0c;提示模板和执行生成过程的GUI工具包。ChainForge可以安装在本地&#xff0c;也可以从chrome浏览器运行。 ChainForge可以通过聊天节点对多个对话可以使用不同的llm并行运行。可以对聊天消息进行模板化&#xff0c;并…

systrace/perfetto抓取方式分享

背景 近来有一些同学反馈性能分析&#xff0c;现在大部分都是其实已经开始使用perfetto了&#xff0c;连sdk上都已经找不到哦systrace相关工具&#xff0c;让马哥可以分享一些这个相关内容&#xff0c;其实以前企业里面那时候大部分都是使用老版本systrace的&#xff0c;相比新…

量化交易全流程(六)

本节目录 多因子风险模型 自从股票市场产生以来&#xff0c;大量的学者、业界人员都在研究股票的价格波动究竟是由什么决定的。一个明显的事实是&#xff0c;股票的价格波动一定是由多种因素决定的&#xff0c;比如大盘因素、市值因素和行业因素。对于大盘因素&#xff0c;股…

【Linux】Linux常用命令—文件管理(上)

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

Mysql内置函数、复合查询和内外连笔记

目录 一、mysql内置函数 1.1.日期函数 1.2.字符串函数 1.3.数学函数 1.4.其他函数 二、复合查询 2.2 自连接 2.3 子查询 2.3.1单行自查询 2.3.2 多行子查询 2.3.3 多列子查询 2.3.4在from子句中使用子查询 2.3.5合并查询 三、表的内连和外连 3.1内连接 3.2外连接…

KNN算法与SVM支持向量机

KNN算法 KNN算法就是把要分类的对象&#xff08;例如一个特征向量&#xff09;与训练集中已知类标记的所有对象进行对比&#xff0c;并由K近邻对分类对象进行判断为那个类别。这种方法的效果好&#xff0c;但是也有弊端&#xff0c;与K-means聚类算法一样&#xff0c;需要先预…

【微服务】springboot整合neo4j使用详解

一、前言 在上一篇我们详细了解了neo4j的使用&#xff0c;从搭建到相关的语法操作&#xff0c;本篇紧接着之前的内容&#xff0c;来详细聊聊如何在springboot应用中集成和使用neo4j。 二、Spring Data Neo4j 和很多其他的中间件类似&#xff0c;都提供了类似jpa的方式与sprin…

sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验

课程1_第2周_测验题 目录&#xff1a;目录 第一题 1.神经元计算什么&#xff1f; A. 【  】神经元计算激活函数后&#xff0c;再计算线性函数&#xff08;zWxb&#xff09; B. 【  】神经元计算一个线性函数&#xff08;zWxb&#xff09;&#xff0c;然后接一个激活函数…

【Stm32-F407】Keil uVision5 的安装

文章内容如下&#xff1a; 1&#xff09;Keil uVision5 安装包的获取2&#xff09;Keil uVision5 的安装3&#xff09;Keil uVision5 中 Stm32-F407 芯片包的获取与安装4&#xff09;注册 Keil uVision5 1&#xff09;Keil uVision5 安装包的获取 Keil uVision5 安装包链接: h…

【LeetCode热题100】--199.二叉树的右视图

199.二叉树的右视图 思路&#xff1a; 使用根->右->左方法进行遍历节点&#xff0c;同时记录层数&#xff0c;将当前层数与记录的层数进行比较&#xff0c;如果当前层数大于记录的层数&#xff0c;添加该元素&#xff0c;若当前层数小于记录的层数&#xff0c;说明该层已…