初学C语言,课后作业记录

介绍

本文是作者学习C语言的记录,初学上路,误撞勿怪,嘿嘿!
本文所有代码均已成功运行,如有错误,可能是编辑本文时误操作所致。
本文所有代码仅为完成任务,漏洞颇多,输入数据时请规范输入。

1.输入三个数字a,b,c,计算s=b*b-4ac的结果并输出。

代码如下:

#include <stdio.h>
int main()
{
	float a,b,c,s;//定义浮点变量
	printf("请输入a,b,c:\n");//输入提示语
	scanf("%f,%f,%f",&a,&b,&c);//输入赋值
	s = b*b - 4*a*c;//计算赋值
	printf("s=b*b-4ac=%.2f\n",s);//打印结果
	return 0;
}

运行结果示例:
运行结果

2.输入某学生三门课的期末考试成绩,计算该同学的成绩总分、平均分和平均绩点。

代码如下:

#include <stdio.h>
int main()
{
	float a,b,c,sum,i,j;//定义浮点变量
	printf("请输入三门课的期末考试成绩:\n");//输入提示语
	scanf("%f,%f,%f",&a,&b,&c);//输入赋值
	sum = a + b + c;//计算总分
	i = (a+b+c)/3.0;//计算平均分
	if(a<60)//判断成绩是否小于60分,小于60分则绩点为0。
	{
		a=0;
	}
	else//大于等于60则按以下方法计算绩点,并将绩点直接赋值给a,改变a的值
	{
		a=(a-50)/10.0;//绩点计算公式
	}
	if(b<60)//判断b的成绩,和a雷同
	{
		b=0;
	}
	else{
		b=(b-50)/10.0;//绩点计算公式
	}
	if(c<60)//判断c的成绩,和a雷同
	{
		c=0;
	}
	else{
		c=(c-50)/10.0;//绩点计算公式
	}
	j = (a+b+c)/3.0;//平均绩点计算
	printf("你的总分是%.2f,平均分是%.2f,平均绩点是%.2f\n",sum,i,j);//结果输出
	return 0;
}

运行结果示例:
运行结果

3.输入圆的半径,计算圆的面积,设圆周率为3.1416。

代码如下:

#include <stdio.h>
int main()
{
	float r,s;//定义半径和面积变量类型
	printf("请输入圆的半径:\n");//输入提示
	scanf("%f",&r);//输入半径
	s = r*r*3.1416;//计算面积
	printf("半径为%.2f的圆的面积大约是%.8f",r,s);//输出结果
	return 0;
}

运行结果示例:
运行结果

4.输入一个任意的整数,按逆序变成一个新的数,并输出这个数。

代码如下:

#include <stdio.h>
int main()
{
	int a,b;//定义整型变量
	printf("请输入一个整数:\n");//输入提示
	scanf("%d",&a);//输入一个整数
	printf("%d的倒序输出是:\n",a);//输出提示
	if(a < 0)//当输入数为负数时,先输出一个负号再变负为正,按正整数逆序处理
	{
		printf("-");
		a = -a;
	}
	if(a == 0)//当输入数为0时输出0
	{
		printf("0");
	}
	while(a > 0)//非零正整数逆序处理,循环
	{
		b = a%10;//取最后一个数
		printf("%d",b); //打印最后一个数
		a /= 10;//a/=10就是a=a/10,去掉最后一个数,再继续循环,直到a==0
	}
	return 0;
}

运行结果示例:
运行结果

5. 输入一元二次方程参数a,b,c,求一元二次方程的根(考虑所有情况)。

代码如下:

#include <stdio.h>
#include <math.h>//开方所用函数的头文件
int main()
{
	float a,b,c,d,x,x1,x2;//定义参数和解的变量类型
	printf("请输入一元二次方程的三个系数a,b,c:\n");//输入提示
	scanf("%f,%f,%f",&a,&b,&c);//输入赋值
	d = b*b-4*a*c;//计算判别式
	if(d < 0)//判断正负,负则无解
	{
		printf("方程%.1fx^2+%.1fx+%.1f=0没有实数解.\n",a,b,c); //输出无解
	}
	else if(d == 0)//等0时仅有一个解
	{
		x = (-1*b)/(2*a);//计算解
		printf("方程%.1fx^2+%.1fx+%.1f=0只有解%.2f.\n",a,b,c,x);//输出解
	}
	else if(d > 0)//大于0时有两个解
	{
		d = sqrt(d);//将判别式开方
		x1 = (-b+d)/(2*a);//计算第一个值
		x2 = (-b-d)/(2*a);//计算第二个值
		printf("方程%.1fx^2+%.1fx+%.1f=0有%.2f和%.2f两个解.\n",a,b,c,x1,x2);//输出结果
	}
	return 0;
}

运行结果示例:
运行结果

感谢观看!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HankuoYuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值