C语言小练习(六)

系列文章目录(从第七期开始难度递增,适合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)嵌套语句
在嵌套语句中一定要用大括号将要执行的语句隔开,否则会出错。


这就是今天的全部内容了,谢谢大家的观看,不要忘了给一个免费的赞哦!

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

✿小瑞同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值