2023/3/21

文章包含四个C语言编程作业,涉及使用函数判断三角形类型、计算电费、处理字符串中的数字以及对学生成绩进行录入、输出和排序。作业详细定义了函数功能,包括无返回值的有参函数和有返回值的有参函数,涵盖了基础的算法和数据处理。
摘要由CSDN通过智能技术生成

作业1:定义有参无返回值函数实现,主调函数传递三角形三条边,被调函数中对其进行判断,判断能否构成三角形,如果能构成三角形,判断该三角形是等边三角形、等腰三角形还是一半三角形。如果不能构成三角形,则输出不能构成三角形。

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
//函数:判断三角形
void s1(int num1,int num2,int num3)
{
	if(num1+num2>num3&&num2+num3>num1&&num1+num3>num2)
	{
		printf("所输入的三条边能够成三角形\n");
		if(num1==num2||num1==num3)
		{
			if(num1==num3&&num2==num3)
			{
				printf("所输入的三条边能够成等边三角形\n");
			}else
			{
				printf("所输入的三条边构成等腰三角形\n");
			}
		}else 
		{
			printf("所输入的三条边构成普通三角形\n");
		}
			
	}else
	{
		printf("所输入的三条边不可以构成三角形\n");
	}
}
//主函数
int main(int argc, const char *argv[])
{
	int a,b,c;
	printf("请输入三角形的三条边:");
	scanf("%d%d%d",&a,&b,&c);
	s1(a,b,c);
	return 0;
}

作业2:使用有参无返回值函数实现如下应用题

电暖气是一种将电能转化为热能的产品。目前,国内的电采暖方式主要分为发热电缆地板辐射采暖、电热膜采暖和电暖气等。

编程实现输入用电量,计算电费功能.

注:电费采用的是阶段电费:

如果用电量在1-100度之间电费单价是0.35元

如果用电度数为101---200则电费单价是0.46元

超过200度则电费单价是0.68元

例如:如果用电量为120度,则前100 度按第一阶梯收费,剩余20度以第二阶梯价收费。

电费=100*0.35+(120-100)*0.46;

要求主调函数中输入所用电量,被调函数中输出所要缴纳的电费

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
//定义函数,计算电费
void s(int num)
{
	int money = 0;    //初始化缴纳的电费
	if(num>100)
	{
		if(num>200)
		{
			num=100*0.35+100*0.46+(num-200)*0.68;
			printf("所要缴纳的电费为:%d\n",num);
		}else
		{
			num=100*0.35+(num-100)*0.46;
			printf("所要缴纳的电费为:%d\n",num);
		}
	}else
	{
		num = num*0.35;
		printf("所要缴纳的电费为:%d\n",num);
	}
}
//主函数
int main(int argc, const char *argv[])
{
	int num = 0;
	printf("请输入所用点量:");
	scanf("%d",&num);
	s(num);
	return 0;
}

作业3:定义有参无返回值函数,在主函数中完成输入字符串,将数组名作为函数参数传递,在被调函数中,将字符串中的数字字符存入新数组,分别统计奇偶个数、和、平均值输出。

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
//定义函数  
void p(char s[])
{
	int m,n,sum;
	m=0;    //偶数个数
	n=0;    //奇数个数
	sum=0;
	float aver=0;
	int len=strlen(s);    //数组的实际字符长度
	for(int i = 0;i<len;i++)
	{
		if(s[i]>='0'&&s[i]<='9')
		{
			if(s[i]%2==0)
			{
				m++;    //偶数时+1
			}else
			{
				n++;    //奇数时+1
			}
			sum+=s[i]-48;    //累加求和
		}
	}
	aver=(float)sum/(m+n);    //求均值
	printf("偶数个数为%d\t奇数个数为%d\n",m,n);
	printf("和为%d\t平均值为%.2f\n",sum,aver);
}
//主函数
int main(int argc, const char *argv[])
{
	char arr[50];
	printf("请输入字符串:");	
	gets(arr);	
	p(arr);
	return 0;
}

作业4:定义函数实现:

主调函数中定义一个数组,存储6名学生的成绩。

调用自定义的有参无返回值函数完成6名学生的成绩录入。

调用自定义的有参无返回值函数完成对成绩的输出。

调用有参无返回值函数,完成对成绩的升序排序。

调用自定义的有参有返回值函数,求出总成绩后,在主调函数输出总成绩

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
void s1(int a1[6])
{
	for(int i = 0;i<6;i++)
	{
		printf("请输入第%d个学生的成绩:",i+1);
		
		scanf("%d",&a1[i]);
	}
}
void s2(int a1[6])
{
	for(int i = 0;i<6;i++)
	{
		printf("第%d个学生的成绩为:",i+1);
		printf("%d\n",a1[i]);
	}
}
void s3(int a1[6])
{
	int temp = 0;
	for(int i = 1;i<6;i++)
	{
		for(int j=0;j<6-i;j++)
		{
			if(a1[j]>a1[j+1])
			{
				temp=a1[j];
				a1[j]=a1[j+1];
				a1[j+1]=temp;
			}
		}
	}
	printf("排序后的成绩为:");
	for(int i = 0;i<6;i++)
	{
		printf("%d\t",a1[i]);
	}
	printf("\n");
}
int s4(int a1[6])
{
	int sum = 0;
	
	for(int i = 0;i<6;i++)
	{
		sum+=a1[i];
	}
	return sum;
}


int main(int argc, const char *argv[])
{
	int arr[6];
	s1(arr);
	s2(arr);
	s3(arr);
	int all = s4(arr);
	printf("总成绩为:%d\n",all);
	
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值