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

网站的运营方式国家建设人才网站

网站的运营方式,国家建设人才网站,字体设计logo,一级a做爰网站免费函数基本操作练习 主要内容#xff1a; 本任务主要练习函数的申请、定义、调用等#xff0c;主要包含以下功能#xff1a; 1#xff09;编写函数#xff0c;输入一个整数#xff0c;求各个数字之和#xff1b; 2#xff09;编写函数#xff0c;计算1#xff01;2 本任务主要练习函数的申请、定义、调用等主要包含以下功能 1编写函数输入一个整数求各个数字之和 2编写函数计算123……n! 3编写函数输出m-n范围内含有数字7但不能被7整除的所有数据 4编写函数求两个整数的最大公约数和最小公倍数 5编写函数设N是一个四位数它的9倍恰好是其反序数例如1234的反序数是4321求N值 6编写函数判断整数是否为回文数 7编写函数判断整数是否为素数 8编写函数猜一个100以内的随机整数直到猜对为止 9编写函数求1-1/31/5-1/7…的值n是自己输入 10编写函数根据输入的n求an的值其中an的计算公式是a11an 其它要求以上十个功能需要定义各自的功能函数有菜单进行良好地引导操作main函数尽量精简。程序书写规范合理设计程序的结构提高代码的复用性减少冗余。 一、程序整体架构剖析 整个程序仿若一座精心构建的大厦被合理地划分为几个关键区域 菜单区作为程序与用户交互的门户它清晰地展示了所有可供选择的功能选项如同餐厅的菜单一般让用户一目了然地知晓自己能够进行何种操作。这一区域为用户提供了便捷的指引使用户能够轻松地决定程序的执行路径。主函数区主函数恰似大厦的枢纽承担着统筹全局的重任。它简洁而高效主要负责接收用户在菜单中输入的选择并依据选择精准地调用相应的功能函数。其自身代码量精简却能有效地协调各个功能模块之间的衔接与流转。函数区这里是程序的核心功能车间各个功能函数如同技艺精湛的工匠分别专注于特定的任务处理。每个函数都具备独立的功能和明确的职责从计算整数各位数字之和到判断素数从生成特定范围内的数字序列到求解复杂的数学关系它们各司其职共同构建起程序丰富多样的功能体系。引用区通过引入必要的头文件如stdio.h用于输入输出操作stdlib.h和time.h为特定功能如随机数生成提供支持为整个程序的运行奠定了坚实的基础如同大厦的根基确保各个功能模块能够顺利地施展其能力。 二、各功能函数思路解析 一求整数各位数字之和 - sumDigits函数 首先初始化一个变量sum为 0用于累加各位数字。利用while循环只要输入的整数num大于 0就执行以下操作 取出num的个位数字通过num % 10实现。将取出的个位数字累加到sum中。然后将num缩小 10 倍即num / 10以便处理下一位数字。循环结束后sum中存储的就是整数num的各位数字之和最后将其返回。 二计算阶乘和 - factorialSum函数 初始化总和变量sum为 0以及单个阶乘变量factorial为 1。通过for循环从 1 到输入的n进行迭代 在每次循环中先计算当前数i的阶乘即factorial * i。然后将计算得到的阶乘值累加到总和sum中。循环结束后sum中即为 1! 2! 3! ……  n! 的结果将其返回。 三输出特定范围内含数字 7 且不能被 7 整除的数据 - printNumbersWith7函数 外层for循环遍历从m到n的所有整数。 对于每个整数i先将其赋值给临时变量temp并初始化一个标志变量has7为 0表示尚未发现数字 7。内层while循环用于检查temp中的每一位数字 当temp大于 0 时取其个位数字判断是否为 7如果是则将has7设为 1 并跳出内层循环。然后将temp缩小 10 倍继续检查下一位数字。当内层循环结束后如果has7为 1 且i不能被 7 整除则将i输出。所有符合条件的数字输出完毕后换行结束输出。 四求最大公约数 - gcd函数 采用辗转相除法通过while循环只要b不等于 0 先将b的值暂存到temp变量中。然后计算a除以b的余数将余数赋值给b。再将之前暂存的b的值即temp赋值给a。当b为 0 时a中存储的就是a和b的最大公约数将其返回。 五求最小公倍数 - lcm函数 直接利用已求得的最大公约数gcd通过公式(a * b) / gcd(a, b)计算并返回a和b的最小公倍数。 六寻找特定四位数 N 值 - findNValue函数 通过for循环遍历从 1000 到 9999 的所有四位数。 对于每个四位数i先保存其原始值到original变量初始化反序数reversed为 0并将i赋值给临时变量temp。利用while循环生成i的反序数每次取temp的个位数字将其累加到reversed中并将reversed乘以 10 以便下一位数字的累加然后将temp缩小 10 倍。当while循环结束后判断original的 9 倍是否等于reversed如果是则返回original。如果整个循环结束都未找到符合条件的数则返回 -1。 七判断回文数 - isPalindrome函数 保存输入的整数num到original变量初始化反序数reversed为 0。通过while循环每次取num的个位数字累加到reversed中并将num缩小 10 倍。循环结束后比较original和reversed是否相等如果相等则返回 1表示是回文数否则返回 0。 八判断素数 - isPrime函数 首先判断输入的num是否小于等于 1如果是则直接返回 0因为小于等于 1 的数不是素数。然后通过for循环从 2 到num的平方根进行迭代 如果num能被i整除则说明num不是素数直接返回 0。如果整个循环结束都未找到能整除num的数则返回 1表示num是素数。 九猜数字游戏 - guessNumber函数 首先使用srand(time(NULL))以当前时间作为随机数种子然后生成一个 100 以内的随机整数num。通过do - while循环让用户不断输入猜测的整数guess 如果guess大于num则提示 “猜大了”。如果guess小于num则提示 “猜小了”。如果guess等于num则提示 “猜对了” 并结束循环。 十求特定数列和 - seriesSum函数 初始化总和变量sum为 0符号变量sign为 1。通过for循环从 1 开始每次递增 2 到输入的n 在每次循环中将sign乘以1.0 / i的结果累加到sum中。然后改变sign的符号即sign * -1。循环结束后sum中存储的就是 1 - 1/3 1/5 - 1/7 …… 的值将其返回。 十一求an的值 - Sum10函数 初始化变量a为 1.0。通过while循环只要n大于 1 根据公式a a / (1 a)更新a的值。并将n减 1。循环结束后返回a的值。 三、实现代码 #include stdio.h #include stdlib.h #include time.h// 函数声明 int sumDigits(int num); double factorialSum(int n); void printNumbersWith7(int m, int n); int gcd(int a, int b); int lcm(int a, int b); int findNValue(); int isPalindrome(int num); int isPrime(int num); void guessNumber(); double seriesSum(int n); float Sum10(int n);// 主函数 int main() {int choice;int m, n;int num1, num2;int nValue;int num;int nForSeries;int nForSum10;do {// 显示菜单printf(**********************\n);printf(1. 输入一个整数求各个数字之和\n);printf(2. 计算123……n!\n);printf(3. 输出m-n范围内含有数字7但不能被7整除的所有数据\n);printf(4. 求两个整数的最大公约数和最小公倍数\n);printf(5. 设N是一个四位数它的9倍恰好是其反序数求N值\n);printf(6. 判断整数是否为回文数\n);printf(7. 判断整数是否为素数\n);printf(8. 猜一个100以内的随机整数直到猜对为止\n);printf(9. 求1-1/31/5-1/7…的值n是自己输入\n);printf(10.根据输入的n求an的值\n\n);printf(0. 退出\n);printf(**********************\n);printf(请选择);scanf(%d, choice);switch (choice) {case 1:printf(请输入一个整数);scanf(%d, num);printf(该整数各个数字之和为%d\n, sumDigits(num));break;case 2:printf(请输入n的值);scanf(%d, n);printf(123……n! 的值为%.0f\n, factorialSum(n));break;case 3:printf(请输入m和n的值m n);scanf(%d %d, m, n);printNumbersWith7(m, n);break;case 4:printf(请输入两个整数);scanf(%d %d, num1, num2);printf(最大公约数为%d\n, gcd(num1, num2));printf(最小公倍数为%d\n, lcm(num1, num2));break;case 5:nValue findNValue();if (nValue ! -1) {printf(满足条件的N值为%d\n, nValue);}else {printf(未找到满足条件的N值\n);}break;case 6:printf(请输入一个整数);scanf(%d, num);if (isPalindrome(num)) {printf(%d是回文数\n, num);}else {printf(%d不是回文数\n, num);}break;case 7:printf(请输入一个整数);scanf(%d, num);if (isPrime(num)) {printf(%d是素数\n, num);}else {printf(%d不是素数\n, num);}break;case 8:guessNumber();break;case 9:printf(请输入n的值);scanf(%d, nForSeries);printf(1-1/31/5-1/7…的值n %d为%.6f\n, nForSeries, seriesSum(nForSeries));break;case 10:printf(请输入n的值);scanf(%d, nForSum10);float result Sum10(nForSum10);printf(根据输入的nSum10的值为%.6f\n, result);break;case 0:printf(谢谢使用\n);break;default:printf(输入错误请重新输入\n);}} while (choice ! 0);return 0; }// 函数定义// 求一个整数各个数字之和 int sumDigits(int num) {int sum 0;while (num 0) {sum num % 10;num / 10;}return sum; }// 计算123……n! double factorialSum(int n) {double sum 0;double factorial 1;for (int i 1; i n; i) {factorial * i;sum factorial;}return sum; }// 输出m-n范围内含有数字7但不能被7整除的所有数据 void printNumbersWith7(int m, int n) {for (int i m; i n; i) {int temp i;int has7 0;while (temp 0) {if (temp % 10 7) {has7 1;break;}temp / 10;}if (has7 i % 7 ! 0) {printf(%d , i);}}printf(\n); }// 求两个整数的最大公约数 int gcd(int a, int b) {while (b ! 0) {int temp b;b a % b;a temp;}return a; }// 求两个整数的最小公倍数 int lcm(int a, int b) {return (a * b) / gcd(a, b); }// 设N是一个四位数它的9倍恰好是其反序数求N值 int findNValue() {for (int i 1000; i 9999; i) {int original i;int reversed 0;int temp i;while (temp 0) {reversed reversed * 10 temp % 10;temp / 10;}if (original * 9 reversed) {return original;}}return -1; }// 判断整数是否为回文数 int isPalindrome(int num) {int original num;int reversed 0;while (num 0) {reversed reversed * 10 num % 10;num / 10;}return original reversed; }// 判断整数是否为素数 int isPrime(int num) {if (num 1) {return 0;}for (int i 2; i * i num; i) {if (num % i 0) {return 0;}}return 1; }// 猜一个100以内的随机整数直到猜对为止 void guessNumber() {int num, guess;srand(time(NULL));num rand() % 100;do {printf(请猜一个100以内的整数);scanf(%d, guess);if (guess num) {printf(猜大了\n);}else if (guess num) {printf(猜小了\n);}else {printf(猜对了\n);}} while (guess ! num); }// 求1-1/31/5-1/7…的值n是自己输入 double seriesSum(int n) {double sum 0;int sign 1;for (int i 1; i n; i 2) {sum sign * (1.0 / i);sign * -1;}return sum; }// 根据输入的n求an的值\n float Sum10(int n) {double a 1.0;while (n 1){a a / (1 a);n n - 1;}return a; }
http://www.hkea.cn/news/14398248/

相关文章:

  • 视频教学网站开发需求分析一流 北京网站建设
  • 东莞网站建设员五十家装修公司官网
  • 深圳企业网站建设公司排名wordpress标签内链插件
  • 手机网站域名设置思政部网站建设总结
  • 微网站建设教学江苏建设电子证书查询
  • 东莞网站建设基础型营销公司官网
  • 深圳专业网站建设公司网站建设福州公司
  • 查询网 网站查询电子商务网站开发语言占比
  • 英文网站推广方法深圳网站搭建哪里找
  • 北京网站建设开发专业公司网站建设制作策划方案
  • 做阿里网站卖东西赚钱seo排名点击软件推荐
  • sogou网站提交网站开发的就业
  • 国内的平面设计网站企业管理的基本方法
  • 免费网络短剧网站网络宣传渠道有哪些
  • 网站建设分工说明网站建设公司的经营范围
  • 用墨刀做网站后台原型网站设计的尺寸
  • 临沂网站建设培训域名如何做网站
  • 建个外国网站eyoucms去版权
  • 网站续费模板申请注册公司费用
  • 安徽鸿顺鑫城建设集团网站校园网站建设培训体会
  • 土特产直营网站建设代码网站的主机
  • 网站策划书案例app和网站开发哪个难
  • 现在的网站开发都用什么开发wordpress导航分类插件
  • 自助建站整站源码四川成都广告公司
  • 网站怎么添加管理员湛江网站建设策划
  • title 株洲网站建设网站打不开别人能打开
  • 北京大型网站建设公司wordpress 主题原理
  • 深圳哪些设计公司做网站比较出名三亚网
  • 学校网站建设规划东莞建网站哪家好
  • 网站地址跟网页地址区别商城网站的psd模板免费下载