【余贞侠】- c语言程序设计第七章课后习题答案

本文介绍了C语言中处理数组的各种方法,包括冒泡排序实现升序排列,计算平均数并找出最接近的数,查找二维数组中的最大值和最小值及其下标,计算矩阵的行列和,以及字符串比较和自定义字符串复制函数。内容涵盖了基本的数据处理和算法应用。
摘要由CSDN通过智能技术生成

1.输入m个浮点数,然后按升序进行排列输出
解析:首先是输入,输入的时候使for循环,并且以’\n’也就是回车作为循环的结束条件
其次就是排序,我使用的是冒泡排序,也就是双重循环,并设置一个临时的替代数,便于排序时的转换。

#include <stdio.h>

void sort(float flo[], int m);

/* 输入m个浮点数,然后按升序进行排列输出 */

int main(void)
{
   
	int i,m = 0;
	float flo[100];
	char ch;
	
	printf("请输入浮点数:\n");
	for ( i = 0; ch != '\n'; i++ )	//回车作为循环结束条件
	{
   
		scanf("%f", &flo[i]);
		ch = getchar();
		m++;
	}
	sort(flo, m);
	printf("以升序排列后:\n");
	for ( i = 0; i < m; i++ )
		printf("%5.2f\n", flo[i]);
	
	return 0;
}

void sort(float flo[], int m)
{
   
	int i, j;
	float tmp;
	for ( i = 0; i < m-1; i++ )		//冒泡排序
	{
   
		for ( j = 0; j < m-i-1; j++ )
		{
   
			if ( flo[j] > flo[j+1] )
			{
   
				tmp = flo[j];
				flo[j] = flo[j+1];
				flo[j+1] = tmp;
			}
		}
	}
}
  1. 输入10个整数,找出与平均数最接近的数并输出
    输入依旧是for循环,求平均数和寻找与平均数最接近的数可以写成函数,提高代码的可用性,
    在求平均数中,就是循环遍历,将每个数组元素加起来形成总和,除以其元数个数;
    找最接近的数,可以将各个元素与平均数差的绝对值(fabs())存入另一个数组,并找出其中的最小值随对应的下标,即使最接近数在原数组中的下标,从而找出最接近的数。
#include <stdio.h>
#include <math.h>
#define N 10

float aver(int a[]);
int search(int a[], float average);	//寻找与平均数最接近的数

int main(void)
{
   
	int a[N], i, tmp = 0, sum = 0;
	float average;
	printf(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值