系列文章目录(从第七期开始难度递增,适合C语言期末复习)
C语言小练习(一)
C语言小练习(二)
C语言小练习(三)
C语言小练习(四)
C语言小练习(五)
C语言小练习(六)
C语言小练习(七)
C语言小练习(八)
前言
本文为《C语言小练习》的第六篇文章,今天同样练习三个项目,准备好了吗?
一、控制指令
#include<stdio.h>
int main()
{
printf("玩法说明:利用输入的正负数指令来控制人物的动作\n");
int a, b, c;
printf("请输入三个数(必须是整数)作为控制的指令\n");
scanf("%d%d%d",&a,&b,&c);
if(a > 0) printf("翠花");
else if(a < 0) printf("熊大");
else printf("光头强");
if(b > 0) printf("亲吻");
else if(b < 0) printf("拥抱");
else printf("殴打");
if(c > 0) printf("熊二");
else if(c < 0) printf("李老板");
else printf("臭狗熊");
return 0;
}
这是一个笔者写的恶搞小程序,主要是带大家复习一下输入输出和逻辑条件等知识,名字和动作行为可以根据大家的想法自行修改。
二、显示月份
#include<stdio.h>
#define Months 12
int main()
{
printf("小程序:显示出某年中月份含有的天数(可以区分是否是闰年)\n");
int month, year;
int days1[Months] = {31,28,31,30,31,30,31,31,30,31,30,31};
int days2[Months] = {31,29,31,30,31,30,31,31,30,31,30,31};
printf("请输入一个年份:");
scanf("%d", &year);
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
{
printf("该年是闰年\n");
do{
printf("请输入一个月份:");
scanf("%d", &month);
}while(month < 1 || month >12);
printf("该月份的天数为%d\n",days2[month-1]);
}
else
{
printf("该年不是闰年\n");
do{
printf("请输入一个月份:");
scanf("%d", &month);
}while(month < 1 || month >12);
printf("该月份的天数为%d\n",days1[month-1]);
}
return 0;
}
该程序是我在练习(二)的第三题的改进版,在判断是否为闰年的前提下可以判断出每个月份所拥有的天数。
这里是练习二的链接,有兴趣的可以点开看看:C语言小练习(二)
该程序所涉及的语法难度较低,这里只重点讲一下do-while循环:
(1)先点明三个循环的区别:
do循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行),而do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
(2)通俗讲解do-while循环:
do-while可以理解为执行…直到…停止,这里的while可以理解为until直到的意思
(3)do-while循环循环模板:
do{
执行语句
}while(停止条件);
分号不要忘记哦!
三、成绩统计
#include<stdio.h>
#define member 10
int main()
{
printf("请输入本次学生的考试成绩,\n程序会自动统计出这次考试学生的最高和最低的成绩\n及其总和与平均值和对应学生的编号\n");
int i, maxstudent, minstudent, scores[member];
int maxscore = 0, minscore = 0, sum;
float average;
for(i = 0; i < member; i++)
scanf("%d",&scores[i]);
for(i = 0; i < member; i++)
{
sum += scores[i];
average = sum / member;
}
for(i = 0; i < member; i++)
if(maxscore < scores[i])
{
maxscore = scores[i];
maxstudent = i;
}
if(minscore > scores[i])
{
minscore = scores[i];
minstudent = i;
}
printf("该班学生的成绩总和为%d,平均值为%.2f\n",sum, average);
printf("该班学生的成绩最高为%d,编号是%d\n",maxscore, maxstudent);
printf("该班学生的成绩最低为%d,编号是%d\n",minscore, minstudent);
if(sum < 750 || minscore < 70) printf("学习尚未成功,同志仍需努力");
else if(sum > 900 || maxscore > 95) printf("成绩相当优秀,值得表扬");
else printf("成绩不错,继续向前");
return 0;
}
这个程序主要练习for循环和嵌套语句
(1)for循环讲解已经在C语言练习(四)详细讲过,这里是链接
C语言小练习(四)
重点再强调一个问题for循环括号里是用 ;分号隔开,笔者又写成了,逗号,结果看了半天才发现,浪费了好多时间,这里提醒大家要注意细节。
(2)嵌套语句
在嵌套语句中一定要用大括号将要执行的语句隔开,否则会出错。
这就是今天的全部内容了,谢谢大家的观看,不要忘了给一个免费的赞哦!