初学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;
}
运行结果示例: