梦龙_C语言作业5

一、填空题
1、

26

二、简答题
1、从键盘输入10个分数(0到100之间),去除其中的最高分和最低分后求平均分,保留1位小数显示结果。(不要有任何提示文字,结果为双精度数后面不要有回车)

方法一:利用数组

/*
时间:2021-3-30
作者:童话
环境:Win 10 、 Visual Studio 2019 
*/
double scores[10];			//	储存分数的数组
double max;					//	分数最大值的变量
double min;					//	分数最小值的变量
double sum;					//	分数求和变量
int i;						//	循环变量

/* 循环输入分数 */
for ( i = 0; i < 10; i++)
{
	scanf("%lf", &scores[i]);
}
/*	初始化最值为数组第一个元素	*/
max = min = scores[0];
for ( i = 1; i < 10; i++)
{
	if (scores[i] > max)
	{
		max = scores[i];
	}
	if (scores[i] < min)
	{
		min = scores[i];
	}
}
/*	初始化和为0	*/
sum = 0;
for (i = 0; i < 10; i++)
{
	sum += scores[i];
}
/*	累加的和减去最值	*/
sum -= (min + max);
/*输出	%.1f 表示输出一位小数*/
printf("%.1f", sum / 8);

方法二:

/*
时间:2021-3-30
作者:童话
环境:Win 10 、 Visual Studio 2019 
*/
double score;				//	分数
double max = 0;				//	最大值,初始化为分数范围的下限
double min = 100;			//	最小值,初始化为分数范围的上限
double sum = 0;				//	分数的和,初始化为0
int i;						//	循环变量

for (i = 0; i < 10; i++)
{
	/* 输入 */
	scanf("%lf", &score);
	/* 判断最值 */
	if (score > max)
	{
		max = score;
	}
	if (score < min)
	{
		min = score;
	}
	/* 累加求和 */
	sum += score;
}
/* 输出 */
printf("%.1f", (sum - max - min) / 8);
三、程序题
1、请编程找出所有水仙花数并求和。水仙花数是一种三位数,百位数的立方、十位数的立方、个位数的立方相加要等于这个数自身。例如:153=111+555+333是水仙化数。(从小到大一行显示所有水仙花数和它们的和,以一个空格分隔各数,不要提示文字和回车)
/*
时间:2021-3-30
作者:童话
环境:Win 10 、 Visual Studio 2019 
*/
int i;			/*	循环变量	*/
int a;			/*	个位	*/
int b;			/*	十位	*/
int c;			/*	百位	*/
int sum = 0;	/*	和		*/
for (i = 100; i <= 999; i++)
{
	a = i % 10;
	b = i / 10 % 10;
	c = i / 100;

	if (i == a * a * a + b * b * b + c * c * c)
	{
		sum += i;
		printf("%d ", i);
	}
}
printf("%d", sum);
2、

已知某公司员工的保底薪水为500,某月所接工程的利润profit(正整数)与利润提成的关系如下(计量单位:元)
profit≤1000 没有提成
1000<profit≤2000 提成10%;
2000<profit≤5000 提成15%;
5000<profit≤10000 提成20%;
10000<profit 提成25%。
要求输入某员工的某月的工程利润,输出该员工的实领薪水。(双精度实数计算,结果显示保留2位小数不回车)

二选一,推荐第二种

/*
时间:2021-3-30
作者:童话
环境:Win 10 、 Visual Studio 2019 
*/
int profit;
double com = 0;
scanf("%d", &profit);

if (profit <= 1000)
	com = 0;
else if (profit > 1000 && profit <= 2000)
	com = 0.1;
else if (profit > 2000 && profit <= 5000)
	com = 0.15;
else if (profit > 5000 && profit <= 10000)
	com = 0.2;
else if (profit > 10000)
	com = 0.25;

printf("%.2f", 500 + profit * com);
/*
时间:2021-3-30
作者:童话的女朋友
环境:Win 10 、 学习通
*/
int profit,r;
double x;
scanf("%d",&profit);
r=(profit-1)/1000;
switch(r)
{
	case 0:x=500;break;
    case 1:x=500+profit*0.1;break;
    case 2:
    case 3:
    case 4:x=500+profit*0.15;break;
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:x=500+profit*0.2;break;
    default:x=500+profit*0.25;break;
}
printf("%.2f",x);
3、

输入整数n,计算表达式
在这里插入图片描述
并显示结果。(结果为双精度数,显示小数点后10位数,不要回车)

/*
时间:2021-3-30
作者:童话
环境:Win 10 、 Visual Studio 2019 
*/
int n;
int i, j;
long long t;	// int 和 long 不通过
double e = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
	t = 1;
	for (j = 1; j <= i; j++)
	{
		t *= j;
	}
	e += (1.0 / t);
}
printf("%.10f", e);
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

童话与云

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

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

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

打赏作者

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

抵扣说明:

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

余额充值