c语言习题1124

news2024/11/16 9:01:35
  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;
	else
		return 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.coloradmin.cn/o/1246557.html

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

相关文章

基于Leaflet的智慧旅游服务平台离线化支持

目录 前言 一、原始文件说明 1、原始网页依赖 2、原始地图API操作 二、Leaflet离线化支持 1、Leaflet资源引入 2、Leaflet地图初始化 3、去掉地图依赖 三、改造效果展示 总结 前言 在上一篇博文推荐了一款适合做智慧旅游项目的大屏&#xff0c;推荐一款适合做智慧旅…

分享一下我个人的微信小程序

FilesUploadHelper 使用七牛云相关的api和sdk搭建的 用户可以通过配置进行文件上传操作

Echarts+Vue+dataV 首页大屏静态示例Demo

效果图: <template><div class="content bg"><!-- 全屏容器 --><!-- 第一行 --><div class="module-box"><div style="flex: 0 1 30%"><dv-decoration-10 style="height: 5px" /></div…

linux磁盘清理

目录 排查过程1、查看磁盘占用情况2. 按照占用大小进行倒排-当前目录及其子目录3.当前目录磁盘占用情况 清理命令 排查过程 1、查看磁盘占用情况 df -hdf -h 命令用于显示磁盘空间的使用情况&#xff0c;以人类可读的方式呈现&#xff0c;其中&#xff1a;df 是 “disk free”…

学习ComplexHeatmap复杂热图

iMeta | 复杂热图(ComplexHeatmap)可视化文章最新版&#xff0c;画热图就引它_生信宝典的博客-CSDN博客 作者贡献 顾祖光&#xff1a;研究课题的提出和设计&#xff0c; 软件编写&#xff0c;可视化&#xff0c;数据分析&#xff0c;论文编写&#xff0c;修订和审阅。 代码和…

MES管理系统需要与ERP系统协同工作吗

在当前的制造业环境中&#xff0c;信息化、智能化、数字化已经成为了企业转型升级的重要方向。其中&#xff0c;ERP企业管理系统与MES生产管理系统的应用和实施&#xff0c;对于提升企业的运营效率和竞争力具有显著效果。然而&#xff0c;在面对系统工具选择时&#xff0c;许多…

现在可以手动获取真随机数吗?

获取真正的随机数并不像获取伪随机数那样简单&#xff0c;因为真随机数的产生依赖于物理过程或者其他难以预测的现象。在计算机科学中&#xff0c;通常使用的是伪随机数&#xff0c;它们是通过算法生成的&#xff0c;看起来像是随机的&#xff0c;但实际上是可以重现的。 如果…

多线程Thread(初阶二:Thread类及常⻅⽅法)

目录 一、Thread 的常⻅构造⽅法 继承Thread代码&#xff1a; 实现Runnable接口代码: 二、Thread 的⼏个常⻅属性 1、id&#xff1a; 2、获取线程的名字。 3、进程的状态&#xff1a; 4、在java中设置的优先级&#xff0c; 5、是否后台线程&#xff0c; 6、是否存活&a…

ubuntu22.04 arrch64版在线安装maven

脚本 if type -p mvn; thenecho "maven has been installed."elsecd /home/zenglgwget https://dlcdn.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz --no-check-certificatetar vxf apache-maven-3.9.5-bin.tar.gz rm -rf /usr/local/mav…

Spark---SparkCore(一)

一、术语与宽窄依赖 1、术语解释 1、Master(standalone):资源管理的主节点&#xff08;进程&#xff09; 2、Cluster Manager:在集群上获取资源的外部服务(例如&#xff1a;standalone,Mesos,Yarn) 3、Worker Node(standalone):资源管理的从节点(进程)或者说管理本机资源的…

js实现数组的上下移动

思路&#xff1a;上移表示index索引位置减去1&#xff0c;下移表示index索引位置增加1。使用数组的splice方法实现。例如上移&#xff1a;splice(元素当前索引位置&#xff0c;1(删除1个元素)&#xff0c;‘元素当前索引位置 - 1’)。

Unity 引擎宣布:自 2024 年起,开发者需支付费用!

Unity引擎宣布的新的收费模式&#xff0c;从2024年1月1日开始&#xff0c;根据游戏的安装量来对开发者进行收费。具体来说&#xff0c;每次游戏被下载时&#xff0c;UnityRuntime也会被安装&#xff0c;因此可能会产生额外的费用。对于开发者来说&#xff0c;需要注意以下几点&…

Linux如何查找某个路径下大于1G的文件

find 命令可以用于在 Linux 或 macOS 系统中查找文件和目录。如果你想查找大于1GB的文件&#xff0c;可以使用 -size 选项结合 参数。以下是一个示例&#xff1a; find /path/to/search -type f -size 1G这里的 /path/to/search 是你要搜索的目录的路径。这个命令将查找该目录…

“java.lang.IllegalStateException: No ConfigurableListableBeanFactory set“,缺少配置

一、错误分析 做品优购项目的运营商安全登录时&#xff0c;运行项目后&#xff0c;浏览器访问模板页&#xff0c;模板页的表格无法正常显示&#xff0c;报错信息如下&#xff1a; SEVERE: StandardWrapper.Throwable java.lang.IllegalStateException: No ConfigurableLista…

让工作效率提升10倍:十大AIGC工具评测【建议收藏】

AI技术的普及已经在近年来不断增长。这种技术已经改变了我们与电脑的互动方式&#xff0c;让我们能够更高效、更自然地完成任务。本文将展示10个基于ChatGPT、GPT-3.5和 GPT-4.0 AI模型构建的最强大的资源&#xff0c;使您更容易充分利用它们的潜力。因此&#xff0c;如果您想利…

[HOW TO]-VirtualBox的虚拟机通过宿主机上网

快速链接: . &#x1f449;&#x1f449;&#x1f449; [专栏目录]-环境搭建安装问题笔记目录 &#x1f448;&#x1f448;&#x1f448; 付费专栏-付费课程 【购买须知】:&#x1f449;&#x1f449;&#x1f449; 个人博客笔记导读目录(全部) &#x1f448;&#x1f448;&a…

AI制作的《大多数普通女孩的一生》——公开教程和工作流

内容来源&#xff1a;JiamigouCn ​这周由AI制作的《大多数普通女孩的一生》&#xff0c;在抖音爆火&#xff0c;获得新华网转发。到目前为止&#xff0c;全网还没有公开教程和工作流&#xff0c;需要花费800-2000购买。 本着AI社区共享原则&#xff0c;我委托公众号“楚思智能…

当内容创作进入 AGI 时代,你也可以成为「神笔马良」

我神笔马良的童话故事我们或多或少都听过&#xff0c;一支神笔在手&#xff0c;想画什么就能画出什么&#xff0c;栩栩如生。创造者的理解力、想象力和创作力都能通过这支神笔释放。 近一年&#xff0c;随着 AIGC 内容生产工具的快速出圈&#xff0c;有人把 Stable Diffusion、…

【T3】畅捷通T3软件数据恢复提示:为备份或还原操作指定的设备太多;只允许指定64个设备。

【问题描述】 畅捷通T3软件还原账套/数据恢复过程中提示&#xff1a; SQL Server为备份或还原操作指定的设备太多&#xff1b;只允许指定64个设备。 【解决方法】 提示这个错误时&#xff0c; 说明是在把从SQLServer2005上备份的数据还原到SQLServer2000数据库上。 即&#x…

Nginx 配置错误导致的漏洞

目录 1. CRLF注入漏洞 Bottle HTTP头注入漏洞 2.目录穿越漏洞 3. http add_header被覆盖 本篇要复现的漏洞实验有一个网站直接为我们提供了Docker的环境&#xff0c;我们只需要下载下来就可以使用&#xff1a; Docker环境的安装可以参考&#xff1a;Docker安装 漏洞环境的…