本周主要考察scanf函数的使用
注意:建议大家先自己做一遍,如果实在解决不了在对照答案找问题
对于上海海事大学的同学,C语言程序设计课程中的实验课程环节的作业基本与本课程的题目相同或类似,可以先自行查找题目,本校使用的编译软件为 Visual C++ 6.0 ,建议有条件的同学使用较新的编译软件,大家可以自行选择比较顺手的编译软件。
对于刚入门的同学,我推荐使用 VS 2022 ,并附上入门教程:教程链接
对于非本校的同学,可以通过本教程自行练习,在吃透本课程后,我相信期末考试取得高分也不是很大的问题,如果只是自学,也可以参考我校的学习进度,自行调整学习计划。
VC 6.0 是1998年所诞生的软件,目前早已停止更新,并且只支持32位的电脑,现如今大家所使用的电脑一般都是64位,大部分人会无法正常使用,并且报错也不智能,所以对于初学者没必要浪费太多的时间在不必要的麻烦上
需要手动输入正方形的边长
输出:正方形的面积是:
代码实现:
#include
int main()
{
float a,s;
printf("这是求正方形面积的程序\n");
printf("请输入a的值:\n");
scanf("%f",&a);
s=a*a;
printf("正方形的面积是:%f\n",s);
return 0;
}
使用scanf函数的时候,一定要注意在替换字符前添加“&”取地址符号
例如:
输入:3 4
输出 :
长=3,宽=4,面积=12
代码实现:
#include
int main()
{
float a,b,s;
printf("这是一个求长方形面积的程序\n");
printf("请输入长方形的长:\n");
scanf("%f",&a);
printf("请输入长方形的宽:\n");
scanf("%f",&b);
s=a*b;
printf("长=%d,宽=%d,面积=%d\n",(int)a,(int)b,(int)s);//在替换值前加(int)可以强制保留整数,并且前方%f的格式也要换为%d
return 0;
}
例如 :
输入 :4
输出 :
交换前:x=3,y=4
交换后:x=4,y=3
代码实现:
#include
int main()
{
int x,y,t;
scanf("%d %d",&x,&y);
printf("变换前x=%d,y=%d\n",x,y);
t=x;
x=y;
y=t;
printf("变换后x=%d,y=%d\n",x,y);
return 0;
}
本题要求编写程序,计算摄氏温度27°C 对应的华氏温度。计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出
celsius = 27, fahr = 对应的华氏温度整数值
代码实现:
#include
int main()
{
int C,F;
C=27;
F=9*C/5+32;
printf("celsius=%d,fahr=%d\n",C,F);
return 0;
}
本题要求编写程序,输出整数473的个位数字、十位数字和百位数字的值。
输入格式:
本题无输入。
输出格式:
按照以下格式输出:
473= 个位数字 + 十位数字10 + 百位数字100
代码实现:
#include
int main()
{
int a,b,c,sum;
sum=473;
a=sum%10;
b=a%10;
c=b%10;
printf("473 = %d + %d * 10 + %d * 100\n",a,b,c);
return 0;
}
本题要求编写程序,据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数
值的两倍。现给定某人身高,请你计算其标准体重应该是多少斤?
输入格式:
输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。
输出格式:
在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。
输入样例:
169
输出样例:
124.2
代码实现:
#include
int main()
{
float W, H;
printf("请输入H的值,H为身高,(100,300],单位为cm\n");
scanf("%f", &H);
if (H>100 && H<=300)
{
W=(H-100)*1.8;
printf("\t%.1f\n", W);
}
else
{
printf("错误!H的取值不在范围内\n");
}
return 0;
}
注意:本题使用if函数为超纲内容,如果还没学到,秩序保证正常的数值可以得到正确结果即可
本题要求编写程序,给定一个华氏温度F,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。式中:C表示摄氏温度,C表示华氏温度,输出数据要求为整型。
输入格式:
输入在一行中给出一个华氏温度。
输出格式:
在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。
输入样例:
150
输出样例:
Celsius = 65
代码实现:
#include
int main()
{
int C,F;
scanf("%d",&F);
C=5*(F-32)/9;
printf("Celsius=%d\n",C);
return 0;
}
提示:使用海伦公式
代码实现:
#include
#include
int main()
{
double a,b,c,p,s;
scanf("%lf %lf %lf",&a,&b,&c);//scanf函数中%f与%f之间要用空格隔开不能用逗号隔开
/*
原因是如果用逗号隔开输入1 1 1他会认为你输入了一个浮点数111,所以会运行失败
*/
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
if(s>0)
{
printf("三角形的面积为%lf\n",s);
}
else
{
printf("三角形无解\n");
}
return 0;
}
注意:本题使用if函数为超纲内容,如果还没学到,秩序保证正常的数值可以得到正确结果即可
本课程为64学时的课程,其中包括32学时的课堂教学和32学时的实验课程,并且本教程为2023年后半学期的经验分享(即最新课程),课堂教学环节为学习,老师一般会教新课和复习,实验课程则为实践,老师会布置练习题,题目一般与本课程题目相同或类似,但还是建议大家自行完成练习题,在参考我的代码找错。
一般一周会有两节课,第一节是课堂教学,第二节为实验课程,共有16周,课后练习一般只持续至14周,最后两周的实验课程会设置成自行练习。前14周的实验课程包括:自行完成作业、测试题以及期中考试,一般内容与期末考试有关,大家可以自己归纳,我也会在最后发布上海海事大学C语言题库(基本为原题),期末考试为机考,所以大家一定要提前熟悉环境。
老师一般会将本周的其中两道题作为课后作业,其要求为:完成题目并且在作业后写100字左右的学习心得,题目只需将自己的程序抄在本子上即可,对于小结,大家可以写学习的体会(例如:在本周遇到什么错误等等),也可以是学习总结(例如:当作每周的学习归纳写)。
我会在每周附上我自己的作业照片,以供大家参考
期末考试内容主要是C语言的基础,例如:数据类型、条件语句(if 与 switch)、循环语句(while、for、do-while以及goto等)、数组(一维数组与多维数组)。而其他篇章考题比例极少,一般每章最少会有一道题,大家要自行把握,不要做无意义的复习。
期末考试的体型包括填空、选择、判断、程序改错(2题)、程序补写(2题)和程序写作题(1题)。
本课程的题目主要是基础知识内容,对于进阶指针、结构体和文件的知识较少,并且指针和结构体是较难的内容,所以希望大家可以自己专门去学习这些内容,一般学校也不会着重考察这部分内容,本人后续也会更新C语言的入门教程,敬请期待。
本文上方资源绑定的文件夹内包括本周的作业参考以及题目的word文件
如果是手机用户或者无法看到此绑定文件,可以进入我的主页自行寻找
C语言的学习是循序渐进的,只有不断积累才能提高,而只学习概念不去动手实践是无法学好C语言的,学好一门程序语言最重要的便是多动手实践,不断地实现新的功能,其所带来的正反馈会让大家逐渐爱上编程,喜欢编程。在学习并完成本课程后,大家基本也就入门了C语言,未来可期,也请大家继续努力。
感谢大家的观看,如果对本系列文章感兴趣的朋友也请多多点赞分享,收藏关注不迷路,如有疑问可以在文章下方评论或者直接私聊我,我会在第一时间回复大家,如果出现题目或程序出错,我会第一时间更改,大家的支持也是我第一动力,谢谢大家。