C语言求幂运算——奇特中文变量命名

news2024/11/25 6:46:54

 写在前面

  • 主要涉及C/C++趣味编程应用及解析
  • 面向初学者撰写专栏,个人代码原创
  • 如有错误之处请各位读者指正,各位可以类比做自己的编程作业
  • 请读者评论回复、参与投票,反馈给作者,我会获得持续更新各类干货的动力。
     

致粉丝:可以在阅读完我的文章后,自己尝试写一点原创心得(哪怕一行字也好)。
               希望众(尽管800个🤣)粉丝多多支持、浏览、自我创作@_@


本文源代码及生成程序下载链接
C语言求幂运算(尽大支持)-中文式奇特命名()中文版https://download.csdn.net/download/Chinese_mad_Boy/87351205C语言求幂运算(不带注释)https://download.csdn.net/download/Chinese_mad_Boy/87351207

C语言求幂运算(英文命名带中文注释)https://download.csdn.net/download/Chinese_mad_Boy/87351474

中文式命名新版本编译器支持中文GB编码可以

C语言求幂运算-一个C语言小程序
更新注意:要让计算幂的范围增大,建议使用long double(%llf)

//power.c
//幂的计算(中文版)

#pragma warning(disable : 4996)          //解除VS2022编译器scanf警告
#pragma warning(disable : 6031)          //解除VS2022编译器getchar()函数无返回值警告


#include <stdio.h>                       //包含I(in输入)/O(out输出)函数定义
double 计算(double 底数源, int 指数源); 
                                         /*声明函数(计算机制函数)底数源与指数源
                                           由main函数中的用户实际输入的
                                           浮点型“底数”与整型“指数”实际替换*/
int main(void)
{

    double 底数, 幂;                      //声明浮点型变量
    int 指数;                             //声明整型变量

    printf("请输入底数与指数(输入q来退出):\n");

    while (scanf("%lf%d", &底数, &指数) == 2)//用户输入同时检测是否输入2个正确参数值
    {
        幂 = 计算(底数, 指数);             
                                          //计算结果引用
        printf("%.3g 的%d 次方 是%.5g。\n", 底数, 指数, 幂);
        printf("请再输入底数与指数(输入q来退出):\n");
    }

    printf("计算愉快\n");

    return 0;
}

double 计算(double 底数源, int 指数源)//幂运算函数块
{
    double 乘积 = 1.0;              //初始化乘积(即:幂的结果初始值)
    int 乘法运算次数;                //乘法运算多次,在下面循环多次底数乘以底数达到计算幂的目的

    for (乘法运算次数 = 1; 乘法运算次数 <= 指数源; 乘法运算次数++)
        /*若a为底数,x为指数,则当乘积运算一次时的结果为:
            1*底数=a,将乘积在运行循环第一个表达式时赋值为底数
            当执行并检测完是否满足条件时,递增次数直到把底数a*底数a乘以了x次
            从而实现了计算a的x次方,得到幂值,即多次相同的乘法运算进行x次
        */
        乘积 *=底数源;              //把乘积1乘以底数源(即底数),再把新值重新更新赋给旧值

    return 乘积;//返回乘积(幂)的值
}

鉴于本程序不符和常规编程练习,特此声明

正常运行示例:


 C语言求幂运算-一个C语言小程序(英文命名版)

//power.c
//幂的计算(英文版)

#pragma warning(disable : 4996)          //解除VS2022编译器scanf警告
#pragma warning(disable : 6031)          //解除VS2022编译器getchar()函数无返回值警告


#include <stdio.h>                       //包含I(in输入)/O(out输出)函数定义
double p(double d_base, int i_exponent);
/*声明函数p(power幂的英文首字母)(实现计算乘方功能)形参底数d_base与形参指数i_exponent
  由main函数中的用户实际输入的
  浮点型(实参)变量base与整型(实参)变量exponent替换*/
int main(void)
{

    double base, power;                  //声明浮点型变量底数base与乘方结果幂值
    int exponent;                        //声明整型变量

    printf("请输入底数与指数(输入q来退出):\n");

    while (scanf("%lf%d", &base, &exponent) == 2)//用户输入同时检测是否输入2个正确参数值
    {
        power = p(base, exponent);
        /*计算乘方结果函数调用,
        同时将实参带入原来形参,
        将调用函数返回值赋给要显示的乘方结果幂值*/
        printf("%.3g 的%d 次方 是%.5g。\n", base, exponent, power);
        printf("请再输入底数与指数(输入q来退出):\n");//循环输入
    }

    printf("计算愉快\n");               //循环结束语
    getchar();
    return 0;
}

double p(double d_base, int i_exponent)//幂运算函数块
{
    double product = 1.0;           //初始化乘积product(即:幂的结果初始值)
    int times;                      //乘法运算多次,在下面循环多次底数乘以底数达到计算幂的目的

    for (times = 1; times <= i_exponent; times++)
        /*若a为底数,x为指数,则当乘积运算一次时的结果为:
            1*底数=a,将乘积在运行循环第一个表达式时赋值为底数
            当执行并检测完是否满足条件时,递增次数直到把底数a*底数a乘以了x次
            从而实现了计算a的x次方,得到幂值,即多次相同的乘法运算进行x次
        */
        product *= d_base;          //把乘积1乘以底数源(即底数),再把新值重新更新赋给旧值
        //等同于product=d_base*product
    return product;//返回计算乘方积(幂)的值
}

1.#pragma warning(disable : 4996)
可以解除VS2022编译器scanf警告

2.#include <stdio.h>
包含I(in输入)/O(out输出)函数定义,C语言中重要的头文件,在C库中

3.实现部分
double p(double d_base, int i_exponent);
声明函数p(power幂的英文首字母)(实现计算乘方功能)形参底数d_base与形参指数i_exponent
由main函数中的用户实际输入的
浮点型(实参)变量base与整型(实参)变量exponent替换

4.scanf("%lf%d", &base, &exponent) == 2
用户输入同时检测是否输入2个正确参数值

5.  power = p(base, exponent);
        计算乘方结果函数调用,
        同时将实参带入原来形参,
        将调用函数返回值赋给要显示的乘方结果幂值

6.printf("%.3g 的%d 次方 是%.5g。\n", base, exponent, power); 
输入显示验证,结果显示

 7.double p(double d_base, int i_exponent){}
实际运算函数块

8.int times;
乘法运算多次,在下面循环多次底数乘以底数达到计算幂的目的

9.for (times = 1; times <= i_exponent; times++)
循环部分
若a为底数,x为指数,则当乘积运算一次时的结果为:
1*底数=a,将乘积在运行循环第一个表达式时赋值为底数
当执行并检测完是否满足条件时,递增次数直到把底数a*底数a乘以了x次
从而实现了计算a的x次方,得到幂值,即多次相同的乘法运算进行x次

10.product *= d_base;
把乘积1乘以底数源(即底数),再把新值重新更新赋给旧值
等同于product=d_base*product

11.return product;
返回计算乘方积(幂)的值 

运行示例


 结语

今天我们共同学习了C语言循环、条件检测、函数参数及返回值等重要知识。
学习编程是一条漫长的路,贵在坚持。每天学习来提升自己的的编程能力,成为耀眼的IT之星。
各位读者跟随我的脚步,我们共同努力,共同进步吧!

返回作者主页

专栏下一篇文档:(待更新)

其它文章:C++学习/温习笔记:源码学编程(一)

                  简洁易懂地介绍C++参数

                  学习C++基本数值类型 

                  C/C++基础运算符


¥_¥持续更新 $ _ $ 

如有探讨问题联系邮箱:yhlz0613@163.com

对于文章中的错误请各位批评指正,我一定及时更正

请在投票后评论回复意见,如有关于写博文的指导也请您回复提出

 <!--感谢浏览                    诸君慢行且留言          过客匆匆常回访-->

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

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

相关文章

【Rust】8. 包、Crate 和 模块管理(公有、私有特性)

8.1 包和 Crate 8.1.1 基本概念 crate 是 Rust 在编译时最小的代码单位&#xff1b;crate 有两种形式&#xff1a;二进制项&#xff08;可以被编译为可执行程序&#xff09;和库&#xff08;没有 main 函数&#xff0c;也不会编译为可执行程序&#xff0c;而是提供一些诸如函…

Selenium+Java+Maven(12):引入Allure作为报告生成器

一、前言 本篇作为SeleniumJava系列的补充&#xff0c;讲了如何使用Allure作为测试报告生成器&#xff0c;来替代TestNG自带的测试报告或ReportNG测试报告&#xff0c;生成更加美观的&#xff08;领导更喜欢的&#xff09;测试报表。话不多说&#xff0c;一起来学习吧~ 二、A…

蒙特卡洛算法详解

蒙特卡洛算法是20世纪十大最伟大的算法之一&#xff0c;阿法狗就采用了蒙特卡洛算法。 1、定义 蒙特卡洛方法也称为 计算机随机模拟方法&#xff0c;它源于世界著名的赌城——摩纳哥的Monte Carlo(蒙特卡洛)。 它是基于对大量事件的统计结果来实现一些确定性问题的计算。其实…

什么是独立性?如何提高独立性?

独立是每个人必经的成长阶段&#xff0c;也是实现人生价值最重要的途径。没有独立就不能实现真正意义上的人生。独立是我们克服困难、实现抱负的最重要的精神力量&#xff0c;也是我们收获幸福的保障。1、什么是独立性&#xff1f;独立性是意志指不受他人影响、能够独立解决问题…

迟到两年的求职总结经验分享

迟到两年的求职总结&经验分享 写在前面 ​ 号主于2021年3月-2021年9月断断续续参加了校园招聘&#xff0c;包括但不限于&#xff1a;暑期实习、秋招提前批、秋招正式批。收获offer包括但不限于&#xff1a;某互联网推荐算法工程师、某通讯公司数据挖掘工程师、某金融科技…

docker 安装mysql8

docker 安装mysql8无法远程登录 # 启动容器 docker run \ -p 13306:3306 \ --name mysql \ --privilegedtrue \ --restartalways \ -v /home/mysqldata/mysql:/etc/mysql \ -v /home/mysqldata/mysql/logs:/logs \ -v /home/mysqldata/mysql/data:/var/lib/mysql \ -v /etc/l…

C++11线程间共享数据

C11线程间共享数据 使用全局变量等不考虑安全的方式以及原子变量这里就不进行说明了。 在多线程中的全局变量&#xff0c;就好比现实生活中的公共资源一样&#xff0c;比如你有一个同时只能允许一个人做饭的厨房&#xff0c;那么在你占用期间&#xff0c;你的室友就必须等待。…

synchronized锁的升级

synchronized锁优化的背景 用锁能够实现数据的安全性&#xff0c;但是会带来性能的下降 无锁能够基于线程并行提升程序性能&#xff0c;带来安全性的下降 java5 synchronized默认是重量级锁&#xff0c;java6以后引入偏向锁和轻量锁&#xff0c;java15 逐步废弃了偏向锁 …

机器学习实战(第二版)读书笔记(4)——seq2seq模型注意力机制(BahdanauAttention,LuongAttention)详解

一、Seq2seq模型 机器学习实战(第二版)读书笔记(1)——循环神经网络&#xff08;RNN&#xff09; 中详细介绍了RNN如下图1所示&#xff0c;可以发现RNN结构大多数对序列长度比较局限&#xff0c;对于机器翻译等任务(输入输出长度不想等N to M)&#xff0c;RNN没办法处理&…

SVN使用:Mac电脑中修改SVN输出信息为英文的方法

前言 作为软件开发人员&#xff0c;关于项目代码管理以及维护想必都不陌生&#xff0c;尤其是在团队协作的时候&#xff0c;多人开发维护同一个项目更是需要代码管理。关于项目代码管理维护工具&#xff0c;常用的就是Git、SVN等管理工具。本篇文章只来分享一下关于SVN的配置设…

C语言学习笔记-常量

“常量”的广义概念是&#xff1a;‘不变化的量’。例如&#xff1a;在计算机程序运行时&#xff0c;不会被程序修改的量。 以上是百度百科上对常量的部分定义。C语言的学习过程中将会接触很多的常量&#xff0c;不同类型的常量其定义、用法等会有所差异。要搞清楚他们的相似与…

如何恢复已删除的文件?5分钟搞定的简单方法。

本文介绍如何使用文件恢复程序恢复已删除的文件。它包括与恢复已删除文件相关的提示。 如何恢复已删除的文件 从硬盘驱动器恢复已删除的文件并不是一件疯狂的事情&#xff0c;但一旦您意识到文件已被删除&#xff0c;就尝试恢复会有所帮助。被删除的文件通常不会被真正删除&am…

终于有人把数据仓库讲明白了

数仓概念 ⚫ 数据仓库&#xff08;英语&#xff1a;Data Warehouse&#xff0c;简称数仓、DW&#xff09;,是一个用于存储、分析、报告的数据系统。 ⚫ 数据仓库的目的是构建面向分析的集成化数据环境&#xff0c;分析结果为企业提供决策支持&#xff08;Decision Support&am…

Linux入门教程|| Linux 忘记密码解决方法|| Linux 远程登录

很多朋友经常会忘记Linux系统的root密码&#xff0c;linux系统忘记root密码的情况该怎么办呢&#xff1f;重新安装系统吗&#xff1f;当然不用&#xff01;进入单用户模式更改一下root密码即可。 步骤如下&#xff1a; 重启linux系统 3 秒之内要按一下回车&#xff0c;出现如…

解决Error: Electron failed to install correctly, please delete......报错的问题

问题 在启动electron项目的时候&#xff0c;报mlgb错 Error: Electron failed to install correctly, please delete node_modules/electron and try installing again 搞了 好久 才解决 原因 升级Electron到7.0.0&#xff0c;提示Electron failed to install correctly, p…

python数据可视化开发(3):使用psutil和socket模块获取电脑系统信息(Mac地址、IP地址、主机名、系统用户、硬盘、CPU、内存、网络)

系列文章目录 python开发低代码数据可视化大屏&#xff1a;pandas.read_excel读取表格python实现直接读取excle数据实现的百度地图标注python数据可视化开发(1)&#xff1a;Matplotlib库基础知识python数据可视化开发(2)&#xff1a;pandas读取Excel的数据格式处理 文章目录系…

Linux下监控类命令:ps,du,top,df,free详解

Linux下监控类命令top命令top信息解释top参数使用ps命令ps信息解释ps参数使用du和dffree命令top命令 top命令&#xff0c;是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况&#xff0c;一般系统资源导致的崩溃问题可以使用top实时监控各进程…

魔兽世界服务器架设开服教程(巫妖王之怒外网详细教程)

魔兽世界服务器架设开服教程&#xff08;巫妖王之怒外网详细教程&#xff09;首先需要了解魔兽各个重要文件详细情况说明不管是任何一个魔兽世界GM想要将服务器修改成为自己想要的样子&#xff0c;首先要做的一件事情就是了解自己的服务器文件是说明意思&#xff0c;对于大多数…

2023年java面试之设计模式

1.什么是设计模式设计模式&#xff0c;是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。2.为什么要学习设计模式看懂源代码&#xff1a;如果你不懂设计模式去看Jd…

云原生周刊 | 使用 K8s 可视化工具集来调试业务 | 2023-1-30

开源项目推荐 k8z k8z 意在 K8s 业务层面&#xff0c;提供一个方便好用的 K8s 集群可视化工具集。目前包含以下功能&#xff1a; 终端&#xff1a;连接到集群任意 Pod 容器上&#xff0c;方便调试Tcpdump&#xff1a;对集群内容器进行 tcpdump 抓包&#xff0c;可直接展示抓…