最近给学生布置了几道作业,题如下:
题目很简单,但对初学者还是需要注意一些细节问题。
我们首先看第一题:
1.用循环语句实现1-1000中所有偶数的和
看到题目,我们需要分析和理解题意,它要求1-1000中所有偶数的和,那偶数是哪些呢?2,4,6,8,…,1000都是偶数,那我们怎么判断它是不是偶数呢?
我们可以用一个if语句实现,如下:
if(a%2==0) //只要a对2取余为0,就能证明它是一个偶数
{
sum = sum+a;//求和操作
}
这样的思考,我们就把代码简单的写一下,代码如下:
#include <stdio.h>
void main()
{
int a = 0; //变量的声明
int sum = 0;
for(a=1; a<=1000; a++)
{
if(0 == a%2) // 判断是不是偶数
{
sum = sum+a; // 若是偶数则进行累加操作
}
}
printf("偶数的总和为:%d\n",sum);
}
结果为:
第二题:
2.求下列试子的值:1+1/2+1/3+1/4+……+1/99+1/100,将结果输出。
根据这个题意,我们需要分析一下怎么去完成该作业
首先,它要求求分数和,这样我们就能知道,它是一个浮点数,定义变量类型时需要定义成float型
其次,1-100的分数怎么求,我们可以用循环来实现,这时,我只需要定义一个变量为int型就可以了
最后,需要注意的是,int,float混合运算的时候,我们都知道肯定会转成double型的,所以结果没问题。
下面是我写的代码,代码如下:
#include <stdio.h>
void main()
{
int a = 0;
float sum = 0.0; // 变量的声明
for(a=1; a<=100; a++) // 循环遍历
{
sum= sum + 1.0/a; // 进行分数累加和,但因为1.0是实型,所以结果就会转成实型数据
}
printf("分数和为:%f\n",sum); // 注意,这里的输出形式需要时%f的形式进行输出
}
结果为:
这样,我就把这题代码简单的写完了
最后一题:
3.企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分, 可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按 1%提成,从键盘输入当月利润I,求应发放奖金总数?
我们根据题意分析代码应该怎么实现呢?
首先需要注意,变量类型的选择,因为这里有小数部分,所以我们要用float去定义变量
其次,需要选择什么样的方法来实现,根据题意,我们可以使用if语句或switch语句实现
最后,完成代码编写,写之前最好能画出它的流程框图,这样便于自己去理解。
我用if语句实现的代码为:
#include <stdio.h>
void main()
{
float profit; // 利润声明
float bonus; // 奖金
printf("请输入利润:");
scanf("%f",&profit);
if(profit <= 10) // 利润低于或等于10万时
{
bonus = profit*0.1;
}
else if(profit > 10 && profit <= 20)// 利润10-20之间
{
bonus = (profit-10)*0.075 + 10*0.1; // 奖金的计算
}
else if(profit > 20 && profit <= 40)// 利润20-40之间
{
bonus = (profit-20)*0.05 + 10*0.1+ 10*0.075;// 奖金的计算
}
else if(profit > 40 && profit <= 60)// 利润40-60之间
{
bonus = (profit-40)*0.03 + 10*0.1+ 10*0.075 + 20*0.05;// 奖金的计算
}
else if(profit > 60 && profit <= 100)// 利润60-100之间
{
bonus = (profit-60)*0.015 + 10*0.1+ 10*0.075 + 20*0.05 + 20*0.03;// 奖金的计算
}
else if(profit > 100 )// 利润100以上
{
bonus = (profit-100)*0.01 + 10*0.1+ 10*0.075 + 20*0.05 + 20*0.03 + 40*0.015;// 奖金的计算
}
printf("奖金总额为:%f\n",bonus);
}
这样,我就把代码写完了,输入一个利润,输出的结果为:
这样三道题就被完成了,大家可以参考一下,有问题及时指出