自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 数码管

2021-02-18 14:54:05 257

原创 进制转换

10.为了让程序清单9.8中的to_binary()函数更通用,编写一个to_base_n()函数接受两个在2~10范围内的参数,然后以第2个参数中指定的进制打印第1个参数的数值。例如,to_base_n(129, 8)显示的结果为201,也就是129的八进制数。在一个完整的程序中测试该函数。#include<stdio.h>void to_base_n(int u, int v);int main(void){ to_base_n(129,8); return 0;}

2021-02-05 10:58:15 182

原创 使用递归函数重写编程练习8。

//计算数的整数幂#include <stdio.h>double power(double n, int p); // ANSI函数原型int main(void){ double x, xpow; int exp; printf("Enter a number and the positive integer power"); printf(" to which\nthe number will be raised. Enter q"); printf(" to quit

2021-02-04 18:49:55 249

原创 第6章的程序清单6.20中,power()函数返回一个

第6章的程序清单6.20中,power()函数返回一个double类型数的正整数次幂。改进该函数,使其能正确计算负幂。另外,函数要处理0的任何次幂都为0,任何数的0次幂都为1(函数应报告0的0次幂未定义,因此把该值处理为1)。要使用一个循环,并在程序中测试该函数。//计算数的整数幂#include <stdio.h>double power(double n, int p); // ANSI函数原型int main(void){ double x, xpow; int ex

2021-02-04 17:08:17 521

原创 编写并测试一个函数,该函数以3个double变量的地址作为参数,把最 小值放入第1个函数,中间值放入第2个变量,最大值放入第3个变量。

#include<stdio.h>void larger_of(double* u, double* v, double* w);int main(void){ double x = 3.2, y = 5.3,z = 1.1; larger_of(&x, &y, &z); printf("%g %g %g\n", x, y, z); return 0;}void larger_of(double* u, double* v,double *

2021-02-04 11:44:06 674 1

原创 编写一个函数,返回3个整数参数中的最大值。

#include<stdio.h>int max(int x, int y, int z);int main(void){ int a=2, b=3, c=4,k; k=max(2,3,4); printf("%d\n",k); return 0;}int max(int x, int y, int z){ return (x > y ? x : y) > z ? (x > y ? x : y) : z;}

2021-02-03 20:55:16 6880

原创 C Primer Plus 8.7

/*7.编写一个程序,提示用户输入一周工作的小时数,然后打印工资总额、税金和净收入。做如下假设:a.基本工资 = 10美元/小时b.加班(超过40小时) = 1.5倍的时间c.税率: 前300美元为15%续150美元为20%余下的为25%用#define定义符号常量。不用在意是否符合当前的税法。8.修改练习7的假设a,让程序可以给出一个供选择的工资等级菜单。使用switch完成工资等级选择。运行程序后,显示的菜单应该类似这样:******************************

2021-01-29 12:29:47 188

原创 C Primer Plus 8.4

程序可检测字符串,字母数,单词数,缺陷是遇到 isn’t 这种词会分辨成两个单词。/*编写一个程序,在遇到EOF之前,把输入作为字符流读取。该程序要报告平均每个单词的字母数。不要把空白统计为单词的字母。实际上,标点符号也不应该统计,但是现在暂时不同考虑这么多(如果你比较在意这点,考虑使用ctype.h系列中的ispunct()函数)。*/#include<stdio.h>#include<stdio.h>#include<stdbool.h>int

2021-01-25 18:40:17 85

原创 C Primer Plus 8-3

/*编写一个程序,在遇到 EOF 之前,把输入作为字符流读取。该程序要报告输入中的大写字母和小写字母的个数。假设大小写字母数值是连续的。或者使用ctype.h库中合适的分类函数更方便。*/#include<stdio.h>#include<ctype.h>int main(void){ int ch,i=0,j=0; printf("请输入字符串:\n"); while ((ch = getchar()) != EOF) { if (islower(c

2021-01-25 17:22:53 85

原创 C Primer 8-2

C Primer 8-2编写一个程序,在遇到 EOF 之前,把输入作为字符流读取。程序要打印每个输入的字符及其相应的ASCII十进制值。注意,在ASCII序列中,空格字符前面的字符都是非打印字符,要特殊处理这些字符。如果非打印字符是换行符或制表符,则分别打印\n或\t。否则,使用控制字符表示法。例如,ASCII的1是Ctrl+A,可显示为^A。注意,A的ASCII值是Ctrl+A的值加上64。其他非打印字符也有类似的关系。除每次遇到换行符打印新的一行之外,每行打印10对值。(注意:不同的操作系

2021-01-25 17:05:20 77

原创 C Primer Plus(第六版编程练习)8.11 编程练习 第5题

/*5.修改程序清单8.4的猜数字程序,使用更智能的猜测策略。例如,程序最初猜50,询问用户是猜大了、猜小了还是猜对了。如果猜小了,那么下一次猜测的值应是50和100中值,也就是75。如果这次猜大了,那么下一次猜测的值应是50和75的中值,等等。使用二分查找(binary search)策略,如果用户没有欺骗程序,那么程序很快就会猜到正确的答案。*/#include<stdio.h>char getfirst(void);int main(void){ int gue

2020-12-10 22:10:45 233

原创 C Primer Plus(第六版编程练习)8.11 编程练习 第4题

/*4.编写一个程序,在遇到EOF之前,把输入作为字符流读取。该程序要报告平均每个单词的字母数。不要把空白统计为单词的字母。实际上,标点符号也不应该统计,但是现在暂时不同考虑这么多(如果你比较在意这点,考虑使用ctype.h系列中的ispunct()函数)。*/#include<stdio.h>#include<ctype.h>#include<stdbool.h>int cnt(void);int main(void){ char ch;

2020-12-10 19:52:54 521

原创 数码管消抖

数码管消除抖动#include<reg52.h>sbit ADDR0=P1^0;sbit ADDR1=P1^1;sbit ADDR2=P1^2;sbit ADDR3=P1^3;sbit ENLED=P1^4;unsigned char code ledchar[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};unsigned char ledbuff[6]

2020-09-16 20:27:33 1689

原创 51单片机定时器时间计算

51单片机定时器时间计算#include<stdio.h> int main(void) { unsigned int a,b,c,d,e,f; float g; scanf("%f",&g);//获取定时器时间,单位是ms f=g/1000*11059200/12;//将ms转化为秒s a=65535-f;//计算得出的对应计时时间的TH0和TL0的初始地址值 b=a%16;//计算获取TH0(8位)和TL0(8位)的位地址 c=a/16%16; d=a/

2020-09-15 20:24:45 4521 1

原创 数码管高位消0

部分程序:while (1) { if (cnt >= 50) //判断T0溢出是否达到1000次 { cnt = 0; //达到1000次后计数值清零 sec++; //秒计数自加1 //将sec按十进制位从低到高依次提取到buf数组中 buf[0] = sec%10; buf[1] = sec/10%10;

2020-09-02 14:23:55 2499 2

原创 单片机数码管理解

运算分析 if(cnt>=1000){cnt=0;sec++;ledbuff[0]=ledchar[sec%10];ledbuff[1]=ledchar[sec/10%10];ledbuff[2]=ledchar[sec/100%10];ledbuff[3]=ledchar[sec/1000%10];ledbuff[4]=ledchar[sec/10000%10];ledbuff[5]=ledchar[sec/100000%10];}举例:(sec必须是整数类型,

2020-08-30 19:32:21 1552

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除