c语言习题1124

  1. 分别定义函数求圆的面积和周长。

  2. 写一个函数,分别求三个数当中的最大数。

  3. 写一个函数,计算输入n个数的乘积

  4. 一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息

  5. 写一个函数求n! ,利用该函数求1!+2!+3!+4!+。。。+10!的和。

  6. Sn=1+1/1!+1/2!+1/3!+1/4!+…+1/n!,主函数中输入n值,求sn的结果。

  7. 写一个函数输出斐波那契数列前10项,并求和

  8. 8、定义一个求平均成绩的函数,实现在一个一维数组score内放5个学生成绩,调用函数求得平均成绩

  9. 有两个班级,分别有5和8名学生,定义average(int b[],int n)函数,调用average函数,分别求这两个班的学生的平均成绩。

  10. 定义一个函数,实现对字符串的逆序打印。

  11. 从键盘为a[5][2]整型数组输入10个整数,调用函数找出该二维数组当中的最小值、最大值、平均值,并输出

  12. 写一个函数,使给定的3*3的二维数组转置,即行列互换。

  13. 编写函数求区间[100,500]中所有的回文数。

  14. (附加题)输入4个学生3门课的成绩,分别用函数实现下列功能:

 

//1、分别定义函数求圆的面积和周长。
#include<stdio.h>
#define pi 3.14
double mj(double r){return pi*r*r;
}
double zc(double r){return 2 * pi * r;
}
int main(){double r;printf("输入圆的半径:");scanf("%lf", &r);printf("圆的面积为:%.2f\n", mj(r));printf("圆的周长为:%.2f\n", zc(r));return 0;}//2、写一个函数,分别求三个数当中的最大数。
#include <stdio.h>
int findmax(int a, int b, int c){int max = a;if (b > max){max = b;}if (c > max){max = c;}return max;
}int main(){int x, y, z;printf("请输入三个数字:");scanf("%d %d %d", &x, &y, &z);printf("最大的数为:%d\n", findmax(x, y, z));return 0;
}//3、写一个函数,计算输入n个数的乘积
#include <stdio.h>
int cj(int n){int result = 1;int num;for(int i = 0; i < n; i++){printf("请输入第%d个数:", i + 1);scanf("%d", &num);result *= num;}return result;
}
int main(){int num;printf("请输入n的值:");scanf("%d", &num);printf("结果为:%d\n", cj(num));
}//4.一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息
#include <stdio.h>
#include <stdbool.h>
bool sushu(int num){if (num <= 1){return false;}for (int i = 2; i*i <= num; i++){if (num%i == 0){return false;}}return true;
}
int main(){int num;printf("请输入一个整数:");scanf("%d", &num);if (sushu(num)){printf("%d是素数\n", num);}else{printf("%d不是素数\n", num);}return 0;
}//5.写一个函数求n!, 利用该函数求1! + 2! + 3! + 4! + 。。。 + 10!的和
#include<stdio.h>
int jc(int n){if (n == 0 || n == 1){return 1;}else{return n*jc(n - 1);}
}
int main(){int sum = 0;for (int i = 1; i <= 10; i++){sum += jc(i);}printf("sum=%d\n", sum);return 0;
}//6.Sn = 1 + 1 / 1! + 1 / 2! + 1 / 3! + 1 / 4! + … + 1 / n!,
//主函数中输入n值,求sn的结果。
#include <stdio.h>double hanshu(int n) {double sum = 0;double fenzi = 1;for (int i = 1; i <= n; i++) {fenzi *= i;sum += 1 / fenzi;}return sum + 1;
}int main() {int n;printf("enter n: ");scanf("%d", &n);printf("sum= %6lf\n",hanshu(n));return 0;
}//7、写一个函数输出斐波那契数列前10项,并求和
#include<stdio.h>
int fib(int n){if (n == 1 || n == 2)return 1;elsereturn fib(n - 1) + fib(n - 2);
}
int main(){int n = 10, i, j, sum = 0;for (i = 1, j = 0; i <= n; i++, j++){if (j % 2 == 0 && j != 0)printf("\n");printf("%d\t", fib(i));sum += fib(i);}printf("\nsum=%d\n", sum);
}//8、定义一个求平均成绩的函数,实现在一个一维数组score内放5个学生成绩,
//调用函数求得平均成绩
#include <stdio.h>double averageScore(int score[], int n) {int sum = 0;for (int i = 0; i < n; i++) {sum += score[i];}return (double)sum / n;
}int main() {int score[5];printf("请输入5个学生成绩:\n");for (int i = 0; i < 5; i++) {scanf("%d", &score[i]);}double avg = averageScore(score, 5);printf("平均成绩为:%.2lf\n", avg);return 0;
}//9、有两个班级,分别有5和8名学生,定义average(int b[], int n)函数,
//调用average函数,分别求这两个班的学生的平均成绩。
#include <stdio.h>double average(int b[], int n) {int sum = 0;for (int i = 0; i < n; i++) {sum += b[i];}return (double)sum / n;
}int main() {int class1[5] = { 85, 90, 88, 92, 87 };int class2[8] = { 78, 85, 90, 92, 88, 75, 80, 86 };double avg1 = average(class1, 5);double avg2 = average(class2, 8);printf("第一个班的平均成绩为:%.2lf\n", avg1);printf("第二个班的平均成绩为:%.2lf\n", avg2);return 0;
}//10、定义一个函数,实现对字符串的逆序打印。
#include <stdio.h>
#include <string.h>void reversePrint(char *str) {int length = strlen(str);for (int i = length - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");
}int main() {char str[100];printf("输入一个字符串:");scanf("%s", str);printf("原有字符串:%s\n", str);printf("逆序后的字符串:");reversePrint(str);return 0;
}//11、从键盘为a[5][2]整型数组输入10个整数,
//调用函数找出该二维数组当中的最小值、最大值、平均值,并输出
#include <stdio.h>void findMinMaxAvg(int a[5][2]) {int min = a[0][0];int max = a[0][0];int sum = 0;for (int i = 0; i < 5; i++) {for (int j = 0; j < 2; j++) {if (a[i][j] < min) {min = a[i][j];}if (a[i][j] > max) {max = a[i][j];}sum += a[i][j];}}double avg = (double)sum / 10;printf("二维数组:\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 2; j++) {printf("%d ", a[i][j]);}printf("\n");}printf("最小值:%d\n", min);printf("最大值:%d\n", max);printf("平均值:%.2lf\n", avg);
}int main() {int a[5][2];printf("请输入10个整数:\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 2; j++) {scanf("%d", &a[i][j]);}}findMinMaxAvg(a);return 0;
}//12、写一个函数,使给定的3 * 3的二维数组转置,即行列互换。
#include <stdio.h>void transpose(int arr[3][3]) {int temp;for (int i = 0; i < 3; i++) {for (int j = i + 1; j < 3; j++) {temp = arr[i][j];arr[i][j] = arr[j][i];arr[j][i] = temp;}}
}int main() {int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };printf("转置前的数组:\n");for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {printf("%d ", arr[i][j]);}printf("\n");}transpose(arr);printf("转置后的数组:\n");for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {printf("%d ", arr[i][j]);}printf("\n");}return 0;
}//13、编写函数求区间[100, 500]中所有的回文数。
#include <stdio.h>
int huiwen(int n){int flag = 1;int g, b;g = n % 10;b = n / 100;if (g == b)flag = 1;else{flag = 0;return flag;}
}
int  main(){int i;for (i = 100; i <= 500; i++){if (huiwen(i))printf(" %d", i);}
}//14.输入4个学生3门课的成绩,分别用函数实现下列功能:
#include <stdio.h>// 计算所有分数的平均值
float calculateTotalAverage(int scores[][3], int numStudents) {float total = 0;for (int i = 0; i < numStudents; i++) {for (int j = 0; j < 3; j++) {total += scores[i][j];}}return total / (numStudents * 3);
}// 计算每个学生的平均分
void calculateStudentAverages(int scores[][3], int numStudents) {printf("每个学生的平均分:\n");for (int i = 0; i < numStudents; i++) {float average = 0;for (int j = 0; j < 3; j++) {average += scores[i][j];}average /= 3;printf("学生 %c 的平均分为 %.2f\n", 'A' + i, average);}
}// 计算每门课程的平均分
void calculateSubjectAverages(int scores[][3], int numStudents) {printf("每门课程的平均分:\n");for (int j = 0; j < 3; j++) {float average = 0;for (int i = 0; i < numStudents; i++) {average += scores[i][j];}average /= numStudents;printf("第 %d 门课程的平均分为 %.2f\n", j + 1, average);}
}int main() {int scores[4][3] = {{ 80, 90, 70 },{ 88, 76, 100 },{ 90, 90, 70 },{ 100, 70, 90 }};float totalAverage = calculateTotalAverage(scores, 4);printf("所有分数的平均值为 %.2f\n", totalAverage);calculateStudentAverages(scores, 4);calculateSubjectAverages(scores, 4);return 0;
}

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

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

相关文章

功率半导体器件CV测试系统

概述 电容-电压(C-V)测量广泛用于测量半导体参数&#xff0c;尤其是MOS CAP和MOSFET结构。MOS(金属-氧化物-半导体)结构的电容是外加电压的函数&#xff0c;MOS电容随外加电压变化的曲线称之为C-V曲线&#xff08;简称C-V特性&#xff09;&#xff0c;C-V 曲线测试可以方便的确…

opencv-使用 Haar 分类器进行面部检测

Haar 分类器是一种用于对象检测的方法&#xff0c;最常见的应用之一是面部检测。Haar 分类器基于Haar-like 特征&#xff0c;这些特征可以通过计算图像中的积分图来高效地计算。 在OpenCV中&#xff0c;Haar 分类器被广泛用于面部检测。以下是一个简单的使用OpenCV进行面部检测…

鸿蒙系统使用hdc_std.exe使用身份证读卡器等外设USB获得权限方法

hdc_std.exe是OpenHarmony 的命令行工具&#xff0c;由于使用的开源鸿蒙开发板上面没有文件管理器&#xff0c;所以无法通过U盘等方式进行安装.hap应用。 下面是使用hdc_std.exe安装身份证读卡器的步骤&#xff1a; 1、hdc_std.exe放桌面&#xff0c;然后WINR&#xff0c;打开…

CBTC 2023氢能展倒计时6天,最新同期会议活动Plus版发布

随着时间的推移&#xff0c;CBTC2023深圳氢能技术展览会即将拉开序幕。这场盛会将于11月30日在深圳福田会展中心盛大开幕&#xff0c;以“以储赋能&#xff0c;智造未来”为主题&#xff0c;旨在搭建一个商务交流、供需合作、创新产品发布的平台&#xff0c;让氢能全产业链之间…

详解Java中的异常体系机构(throw,throws,try catch,finally)

目录 一.异常的概念 二.异常的体系结构 三.异常的处理 异常处理思路 LBYL&#xff1a;Look Before You Leap EAFP: Its Easier to Ask Forgiveness than Permission 异常抛出throw 异常的捕获 提醒声明throws try-catch捕获处理 finally的作用 四.自定义异常类 一.异…

微信小程序:This Mini Program cannot be opened as your Weixin version is out-of-date.

项目场景&#xff1a; 问题描述 升级基础库3.2.0&#xff0c;然后PC端整个小程序都打不开了&#xff0c;点击小程序提示”This Mini Program cannot be opened as your Weixin version is out-of-date. Update Weixin to the latest version.“&#xff0c;并且点击Update Wei…

一个悄然崛起的国产软件!!AI 又进化了!!

大家好&#xff0c;我是 Jack。 AI 写代码想必很多人都体验过了&#xff0c;使用 AI 编程工具是一个大趋势&#xff0c;越早学会使用 AI 辅助你写代码&#xff0c;你的效率也会越高。 甚至有些公司已经要求员工具备 AI 编程能力。 对于学生党&#xff0c;AI 编程可以帮助我们…

MyBatisPlus总结

MyBatis-Plus时Mybatis的Best Partner MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 特性 无侵入损耗小强大的 CR…

Android开发从0开始(广播)

应用广播 发送标准广播的三步骤 发送标准广播&#xff1a; //发送标准广播 Intent intent new Intent("com.dongnaoedu.chapter09.standard"); sendBroadcast(intent); 定义广播接受者: public class StanderdReceiver extends BroadcastReceiver { public s…

在ASP.NET Core 中使用 .NET Aspire 消息传递组件

前言 云原生应用程序通常需要可扩展的消息传递解决方案&#xff0c;以提供消息队列、主题和订阅等功能。.NET Aspire 组件简化了连接到各种消息传递提供程序&#xff08;例如 Azure 服务总线&#xff09;的过程。在本教程中&#xff0c;小编将为大家介绍如何创建一个 ASP.NET …

PLC通过RS232转PROFINET与电子分析天平秤通讯案例

本案例是通过用兴达易控的XD-PNR200型RS232转Profinet网关连接电子分析天平秤与PLC通讯的配置案例&#xff0c;用到设备为西门子S7-1200PLC&#xff0c;RS232转Profinet网关&#xff0c;电子分析天平秤。 打开博图&#xff0c;添加PLC&#xff1b;本案例使用的是1200PLC。 添加…

『接口测试干货』| Newman+Postman接口自动化测试完整过程

『接口测试干货』| NewmanPostman接口自动化测试完整过程 1 Newman简介2 如何安装Newman&#xff1f;2.1 安装NodeJs2.2 安装Newman2.2 解决Newman不是内部命令 3 Newman使用3.1 Newman如何运行集合&#xff1f;3.2 如何查看帮助文档&#xff1f;3.3 环境变量设置3.4 关于全局变…

微信小程序制作

如果你也想搭建一个小程序&#xff0c;但不知道如何入手&#xff0c;那么今天我就教你如何使用第三方制作平台&#xff0c;在短短三十分钟内搭建一个小程序。 一、登录小程序制作平台 首先&#xff0c;登录到小程序制作平台的官方网站或应用程序&#xff0c;进入后台管理系统。…

文章解读与仿真程序复现思路——电网技术 EI\CSCD\北大核心《考虑5G基站储能可调度容量的有源配电网协同优化调度方法》

这篇文章的标题涉及到以下关键概念&#xff1a; 5G基站&#xff1a; 提到了5G基站&#xff0c;这表明文章的焦点可能是与第五代移动通信技术相关的内容。5G技术对于提高通信速度、降低延迟以及支持大规模连接等方面有显著的改进&#xff0c;因此对于基站的电力需求和供应可能存…

2023年ESG投资研究报告

第一章 ESG投资概况 1.1 定义 ESG投资&#xff0c;亦称负责任投资&#xff0c;是一种融合环境&#xff08;Environment&#xff09;、社会&#xff08;Social&#xff09;和治理&#xff08;Governance&#xff09;考量的投资方法&#xff0c;旨在通过综合这些因素来优化投资…

美国汽车零部件巨头 AutoZone 遭遇网络攻击

Security Affairs 网站披露&#xff0c;美国汽车配件零售商巨头 AutoZone 称其成为了 Clop MOVEit 文件传输网络攻击的受害者&#xff0c;导致大量数据泄露。 AutoZone 是美国最大的汽车零配件售后市场经销商之一&#xff0c;在美国、墨西哥、波多黎各、巴西和美属维尔京群岛经…

「Whale 帷幄」连续入选科技榜单,AGI 冲击波正在加速行业洗牌

以 AGI 为底座&#xff0c;品牌 MarTech 正在经历一场前所未有的深度变革。 近日&#xff0c;弯弓研究院发布「中国 MarTech 500 强榜单」&#xff0c;以 2023 中国营销技术&#xff08;MarTech&#xff09;生态为研究对象&#xff0c;洞察行业现象与未来趋势。作为品牌数字化…

前后端性能优化实践(含Java代码部分、数据库部分、React前端部分)

最近的一个大屏报表统计的接口查询速度很慢&#xff0c;耗时近一分钟左右&#xff0c;数据量级只是700万左右&#xff0c;但很慢&#xff0c;最后优化到4秒左右&#xff0c;客户还能接受&#xff0c;但其实还可以在优化&#xff0c;先这样吧&#xff0c;简单记录下。这次主要优…

App Inventor 2 文本转数字

App Inventor 2 是弱语言类型&#xff0c;文本和数字之间不用刻意去转换&#xff0c;之间赋值就可以了。文本赋值给数字变量如下&#xff1a; 运行结果&#xff1a;124 注意&#xff1a;数字变量初始化的时候要给一个数字的初始值&#xff0c;表明它是数字。 如果文本中含有非…

系列三、事务

一、事务 1.1、概述 事务是数据库操作的基本单元&#xff0c;它是指逻辑上的一组操作&#xff0c;要么都成功&#xff0c;要么都失败。典型场景&#xff1a;转账&#xff0c;例如Jack给Rose转账1000元&#xff0c;转账成功&#xff1a;Jack账户的余额少1000元&#xff0c;Rose…