C语言编程作业(1-2)
第一周
平均数
从键盘输入某同学的3科成绩,输出这3科成绩的平均分
#include <stdio.h>
main(){
float a,b,c,avg;
scanf("%f,%f,%f",&a,&b,&c);
printf("%.2f",avg=(a+b+c)/3);
}
和、差、积、商与余数
输入2个整数 num1 和 num2,计算并输出它们的和、差、积、商与余数
#include <stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d + %d = %d\n",a,b,a+b);
printf("%d - %d = %d\n",a,b,a-b);
printf("%d * %d = %d\n",a,b,a*b);
printf("%d / %d = %d\n",a,b,a/b);
printf("%d %% %d=%d\n",a,b,a%b);
return 0;
}
字母大小写转换
#include <stdio.h>
int main(void)
{
//ASCII码表中:
// A-Z: 65-90
//a-z: 97-122
char cLetter;
char cDifference = 'a' - 'A'; // 计算出大写字母与小写字母的ASCII值的差,97-65等于32
printf("请输入要转换的字母: ");
scanf(" %c", &cLetter);
if (cLetter - 'Z' <= 0) // 如果不是大写字母,则进行转换成小写字母
cLetter += cDifference;
else // 如果是小写,则进行转换成大写字母
cLetter -= cDifference;
printf("%c", cLetter);
printf("\n");
return 0;
}
第二周
海伦公式求三角形面积
从键盘输入三角形的三条边a,b,c的值,计算三角形的面积
错解
#include <stdio.h>
#include <math.h>
int main()
{
int a,b,c;
double p=0;
double S=0;
scanf("%d,%d,%d",a,b,c);
p = (a+b+c)/2.0;
S = sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积为:%lf\n",S);
return 0;
}
正解
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,p,area;
printf("输入三条边边长:");
scanf("%f %f %f",&a,&b,&c);
p=1.0/2*(a+b+c);
if(a+b>c&&b+c>a&&a+c>b)
{
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形面积为:%.2f",area);
}
else
printf("不能构成三角形");
return 0;
}
银行存款求本利
具体描述:设银行定期存款的年利率为r,并已知存款期为n年,存款本金为m元,编程计算n年后的本利之和
第一次尝试
#include<stdio.h>
int main()
{
float a,b,m;
int year,con;
printf("输入年利率:");
scanf("%f",&a);
printf("输入存款期和本金:");
scanf("%d %f",&year,&m);
for(int i=0;i<year;i++)
{
b=m*a;
b=m+b;
con=(int)(b+0.5);
}
printf("3年后的本利之和为:%d",con);
return 0;
}
调试正解
#include<stdio.h>
int main()
{
float a,b,m;
int year,con;
printf("输入年利率:");
scanf("%f",&a);
printf("输入存款期和本金:");
scanf("%d %f",&year,&m);
int i,sum;
for(i;i<year;i++)
{
b=m*a; //利息
m=m+b;//更新本金
//sum=m+b;
}
con=(int)(m+0.5);//四舍五入
printf("%d年后的本利之和为:%d",year,con);
return 0;
}
温度转换
华氏温度转换为摄氏温度
#include <stdio.h>
int main()
{
float f;
float c;
scanf("%f", &f);
c = 5 * (f - 32) / 9.0 ;//涉及浮点型的类型时,要格外的注意到这个整数的小数点后面的数
printf("celsius=%.2f",c);
return 0;
}
圆和圆柱
从键盘输入圆半径r、圆柱高度h,求圆周长、圆面积、圆柱体积(3.14r2h),输出计算结果,要求输入、输出要有说明,输出取小数点后两位小数
结果正确,但是评分系统说是错的
#include "stdio.h"
#define PI 3.14
int main()
{
float r;
float h;
float a,b,c;
//printf("r=");
scanf("%f", &r);
//printf("h=");
scanf("%f",&h);
a = 2*PI*r ;
b = PI*r*r;
c = PI*r*r*h;
printf("Perimeter=%.2f,CircleArea=%.2f,CylinderVolume=%.2f",a,b,c);
return 0;
}
输入后面有个空格,而且是全输入
正解
#include "stdio.h"
#define PI 3.14
int main()
{
float r;
float h;
float a,b,c;
scanf("r=%f, h=%f",&r,&h);//quan
a = 2*PI*r ;
b = PI*r*r;
c = PI*r*r*h;
printf("Perimeter=%.2f, CircleArea=%.2f, CylinderVolume=%.2f",a,b,c);
return 0;
}