C语言实例

1.简单累加累积—偶数分母之和

编写函数fun(int m),其功能是:求1/2+1/4+1/6+…+1/2m 的值,并将计算结果以函数返回值形式返回。
在主函数中输入一个正整数m,调用fun函数求1/2+1/4+1/6+…+1/2m 的值,并将计算结果输出。

示例:
输入:9
输出:1.414484
#include <stdio.h> 
double fun(int m){
	double sum=0;
	for (int i=1; i<=m; i++){
		sum += 1.0/(2*i);
	}
	return sum;
}
int main(){
	double s;
	int m;
	scanf("%d", &m);
	s = fun(m);
	printf("%lf", s);
	return 0;
}

2.计算运费

运输公司按照以下方法计算运费。路程(s)越远则每公里运费越低。方法如下:

   s < 250                      没有折扣
   250≤ s < 500                 2%折扣
   500≤ s < 1000                5%折扣
   1000≤ s < 2000               8%折扣
   2000≤ s < 3000               10%折扣
   3000≤ s                      15%折扣

设每公里每吨货物基本运费为p,货物重w(吨),距离为s(km),折!扣为d,总运费计算公式为
f = p * w * s * (1 − d)
设计算法编写程序,要求输入p、w和s,计算总运费(用if语句或者switch语句编写)。

#include <stdio.h>
int main(){
	double p, w, d, f;
	int s;
	scanf("%lf%lf%d", &p, &w, &s);
	if (s<250){
		d = 0.00;
		f = p * w * s;
		printf("%lf", f);
	}
	else if (s>=250&&s<500) {
		d = 0.02;
		f = p * w * s * (1-d);
		printf("%lf", f);
	}
	else if (s>=500&&s<1000) {
		d = 0.05;
		f = p * w * s * (1-d);
		printf("%lf", f);
	}
	else if (s>=1000&&s<2000) {
		d = 0.08;
		f = p * w * s * (1-d);
		printf("%lf", f);
	}
	else if (s>=2000&&s<3000) {
		d = 0.10;
		f = p * w * s * (1-d);
		printf("%lf", f);
	}
	else if (s>=3000) {
		d = 0.15;
		f = p * w * s * (1-d);
		printf("总运费为:%lf \n", f);
	}
	return 0;
}

3.数字之和

输入四位数,分别求该数各个数位上的数字之和。

例如
输入 1234
输出 10
#include <stdio.h>
int main(){
	int n, a, b, c, d, s;
	scanf("%d", &n);
	d = n % 10;
	c = n % 100 / 10;
	b = n / 100 % 10;
	a = n / 1000;
	s = a+b+c+d;
	printf("%d", s);
	return 0;
}

4.相反次序重新组合

将一个整数按相反次序重新组合成另一个整数输出的小程序。

编写一个程序,输入一个4位的整数,将其各位按相反次序重新组合成另一个整数输出。

输入值为一个4位整数,输出值也是一个4位整数,但数字顺序相。

注意:输入不足4位的整数,用0填补(例如:12 → 0012);输入超出4位整数,则截取其前4位后进行运算(例如: 123456 → 1234)。

效果如下:
在这里插入图片描述

#include <stdio.h>
int main()
{
    int number;
    printf("请输入一个4位整数:");
    scanf("%4d", &number);
    int thousand=0,hundred=0,ten=0,a=0,newnumber;
    thousand=number%10;
    hundred=number/10%10;
    ten=number/100%10;
    a=number/1000%10;
    newnumber=thousand*1000+hundred*100+ten*10+a;
    printf("重新组合后:%d",newnumber);
    return 0;
}

5.医院收费

输入所在医院费用(药品费、床位费(元/天)、住院天数),打印出应付钱数;再输入病人所付款数,打印出找零金额。

要求按照下面的运行结果编写函数代码,请注意数据类型的选择、输出格式(保留2位小数)。

效果如下:
在这里插入图片描述

#include <stdio.h>
int main()
{
	double yao,chuang,days,money1,money2;
	printf("请输入药品费、床位费/天、住院天数:");
	scanf("%lf %lf %lf",&yao,&chuang,&days);
	money1 = yao+chuang*days;
	printf("应付款:%.2f",money1);
	printf("\n实付款:");
	scanf("%lf",&money2);
	printf("应找零:%.2f",money2 - money1);
	return 0;
}

6.排除此数还是输出此数

在程序中输入一个整数,如果这个整数能被3整除或者百位数是3,则打印输出,否则输出“排除此数”。

效果如下:

输入:90。
输出:90。

输入:110。
输出:排除此数。
#include <stdio.h>
int main()
{
    int x;
    scanf("%d", &x);
    if(x%3==0 || x/100==3){
        printf("%d", x);
    }else{
        printf("排除此数");
    }
    return 0;
}

7.求m以内的奇数之和

给定一个整数m,求m以内的奇数之和,并将其输出。

例如,当m=50时, 即求1+3+5+7+……+49,当m=9时,即求1+3+5+7+9。

效果如下:

输入:9。
输出:25。
#include <stdio.h>
int main()
{
    int i,m,sum;
    scanf("%d", &m);
    sum = 0;
    i = 1;
    while(i<=m)
    {
        sum+=i;
        i+=2;
    }
    printf("%d", sum);
    return 0;
}

8.求绝对值

根据输入数据输出该值的绝对值,效果如下: 输入:-25。 输出:25。

#include <stdlib.h>

int main()
{
    int x = 0;
    int y = 0;
    scanf("%d", &x);
    printf("%d", abs(x));
    return 0;
}
  • 15
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
51单片机是一种常用的嵌入式系统开发工具,常常使用C语言进行编程。下载51单片机C语言实例可以帮助我们学习和了解如何在51单片机上进行C语言编程,以及如何利用该单片机的功能进行各种应用开发。 下载51单片机C语言实例的好处有很多。首先,它可以帮助我们快速上手学习51单片机的编程方法和技巧,从而提高我们在嵌入式系统开发中的效率和能力。其次,通过实例代码的学习,我们可以了解各种传感器、执行器等外设的驱动和应用方法,为我们在实际项目开发中提供参考和帮助。另外,下载C语言实例还可以帮助我们深入理解嵌入式系统的原理和设计思想,为我们今后的软硬件开发打下坚实的基础。 在选择51单片机C语言实例下载时,我们可以通过各种渠道获取,比如网络上的开发者社区、技术论坛或者开发工具厂商的官方网站都可以提供丰富的资源供我们学习和下载。在下载实例代码时,我们需要注意选择合适的版本和类型,比如针对不同的单片机型号、不同的外设接口以及不同的应用场景等,确保能够满足我们的具体需求。 综上所述,通过下载51单片机C语言实例,我们可以快速上手学习和了解嵌入式系统的开发方法和技巧,为我们今后的项目开发提供帮助和指导。希望大家能够充分利用这些资源,不断提升自己的嵌入式系统开发能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Vicky__3021

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

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

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

打赏作者

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

抵扣说明:

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

余额充值