SDUT《程序设计基础I 》实验1-顺序结构程序设计题解 && c语言语法讲解

链接

前言:

为方便更多同学入门C语言, 特在此编写SDUT OJ c语言入门150题题解即对应的知识点讲解, 每一道题目尽可能提供多种做法以供参考。学习语法时可参考B站网课与《算法笔记》、《C primer plus》等书籍, 共勉。

A - C语言实验——Hello World!(printf练习)

语法点: c语言的程序的基本框架:

#include <stdio.h> //包含头文件<stdio.h>int main() //主函数
{return 0; //向操作系统返回0表示程序正常结束
}
  • <stdio.h> 全称为 standard input output(标准输入输出头文件), 里面有printf、scanf等与输入输出有关的库函数

  • 程序从主函数(main()函数)开始执行

  • return 0与main前面的int对应, 表示函数的返回值与其类型

语法点: printf()输出函数

printf()为格式化输出函数, 使用printf(""), " “里面为要打印的内容, printf会把” "里面的内容原封不动的打印到屏幕上。

code A


#include <stdio.h>int main()
{printf("Hello World!");return 0;
}

输出的内容应与output内的东西完全一致,不应该输出其他的额外信息, 否则会wa
printf(“”)输出的内容要用双引号围起来,最后的;不要忘记,表示的是一条语句
一般oj(除pta)会自动忽略最后的空格与换行(\n), 所以输出 printf("Hello World!\n"); 也是对的, 但不要在前面或者中间输出任何无关的信息

B - C语言实验——输出字符串

与第一题相同,直接复制输出框的内容即可,不要添加任何的无关信息(除了末尾的\n(换行符, 类似QQ聊天按enter)可以选择是否添加)

code B

#include <stdio.h>int main()
{printf("This is a C program.\n"); //这里的\n有无均可return 0;
}

C - C语言实验——图形输出(字符常量练习)

打印一个由 ‘#’ 围成的图形, 只需要用 \n 控制好换行就可以,可以写在一个printf语句里, 也可以分开成多个printf语句

code C

//一个printf
#include <stdio.h>
int main()
{printf("#\n##\n###\n####\n#####\n######\n");return 0;
}
//多个printf
#include <stdio.h>
int main()
{printf("#\n"); //记得\n也要放到" " 里面printf("##\n");printf("###\n");printf("####\n");printf("#####\n");printf("######\n");return 0;
}
//循环
#include <stdio.h>int main()
{for(int i = 1; i <= 6; i++) //外循环控制打印的行数{for(int j = 1; j <= i; j++) //内循环控制每一行打印的内容{printf("#");}printf("\n"); //不要忘了每一行结尾都要打印换行}return 0;
}

D - C语言实验——求两个整数之和

语法点: 数据类型, 赋值语句, 常用占位符

c语言基本数据类型包括整数类型和浮点类型。整数类型又包含char(字符型), int(整型), short int(短整型), long int(长整型), long long int(更长的整型); 浮点类型(也叫实型)包括float(单精度浮点型)、double(双精度浮点型)、long double(更高精度的浮点型)。 在32位以上系统上, int范围与long int范围相同, 而float精度较低一般不使用, 在实际做题的过程中, 需要整型我们一般直接定义int, 而需要浮点型我们也一般直接使用double, 当题目数据较大时(大于10的9次方或2的32次方) 考虑使用long long

数据类型参考
更多数据类型参考资料: 《算法笔记》、《C Primer Plus》

声明一个变量的语法格式为: 数据类型 变量名;int a;表示声明了一个整型变量, 变量名为a, 系统会在内存中开辟一块大小为4字节的空间(详细了解请去看数据类型相关参考资料). 可以使用赋值号 = 为变量赋值, 如 a = 4; 在变量声明的时候为其赋初值叫做变量的初始化, 如 int a = 123;

占位符用于scanf和printf函数控制格式化输入输出. 如 printf("sum = %d", a); 这里的 %d就是一个占位符, 表示会把,后面的int整型变量a的值放到这个地方输出, 如a的值为123, 输出的结果就是 sum = 123 .

每一种数据类型都对应一种占位符, 常见的占位符有:
%d int 类型占位符
%c char 类型占位符(单独的一个字符变量)
%lld long long 类型占位符
%s char数组类型占位符 (用于读取和输出不含空格的字符串)
%f float 类型占位符(单精度浮点型)
%lf double 类型占位符(双精度浮点型)
%o 八进制占位符
%x 十六进制占位符(其中字母部分输出时为小写字母)
%X 十六进制占位符(其中字母部分输出时为大写字母)
%p 指针变量类型占位符

一般来说printf与scanf的占位符是相同的, 最新的c标准double类型变量scanf的占位符为 %lf 而 printf的占位符为%f, 当然使用%lf也不会错

code D

//使用赋值语句
#include <stdio.h>int main()
{int a = 123, b = 456;printf("sum is %d", a + b);return 0;
}
//只有一个样例, 直接输出即可(没有练习的意义)
#include <stdio.h>int main()
{printf("sum is 579");return 0;
}

E - A+B Problem

这个题数据规模比较小, 直接开int即可, 如果a和b范围较大, 可能需要开long long

语法点: scanf输入函数

scanf函数用于从标准输入(键盘输入)读取数据, 并按照格式化赋值给对应的变量, 如 scanf("%d %d", &a, &b);表示从键盘中读取两个整数并将其依次赋值给变量a和b, 如在键盘输入123 456 a的值会变成123, b的值会变成456。 注意scanf函数与printf函数相同, 有几个占位符后面就要有几个变量参数, 不然会发生错误; scanf函数后面赋值的变量前面必须有&符号, &为取地址符号, 可以理解为需要找到这个变量的地址才能给它赋值,而printf打印则不需要地址. 有个特例为char字符数组(字符串)使用%s赋值的时候不需要使用取地址符号, 因为数组名本身就是一个地址

code E

#include <stdio.h>int main()
{int a, b;scanf("%d %d", &a, &b); //俩%d之间加不加空格都一样, 读取的时候会自动跳过空白符(如空格、制表符(\t)、换行符(\n))printf("%d", a + b);return 0;
}

F - C语言实验——交换两个整数的值(顺序结构)

语法点: 评测机制

评测程序像黑匣子, 从标准输入流(stdin)或文件中读取的输入数据经过提交的程序, 得到输出的结果(存到文件或者标准输出流stdout)并与事先的正确数据进行比对, 进而得到AC或WA(在运行代码时可能会出现CE/TLE/RTE等错误)
因此我们在考试or比赛中只需要保证程序得到正确的结果即可, 中间的过程不重要(平时练习还是要学会各种做法)

code F

//直接输出而不交换
#include <stdio.h>int main()
{int a, b;scanf("%d %d", &a, &b); printf("%d %d", b, a); //不交换而直接反着输出return 0;
}
//开额外变量暂存值实现交换
#include <stdio.h>int main()
{int a, b;scanf("%d %d", &a, &b); int t; //新的c标准允许我们在使用的时候定义变量, 而不是最开始全定义在开头t = a; //t暂存a的值a = b; //赋值之后b的值会代替a的值b = t; //t里面是原来a的值printf("%d %d", a, b); return 0;
}
//不开额外变量交换a和b → 加减运算法
#include <stdio.h>int main()
{int a, b;scanf("%d %d", &a, &b);//通过加减运算让a变成b, b变成a即可, 方法不唯一a = a + b; //如果数据规模大a和b可能需要开long longb = a - b;a = a - b;printf("%d %d", a, b); return 0;
}
//不开额外变量交换a和b → 使用位运算的异或进行交换, 如感兴趣可自行了解
#include <stdio.h>int main()
{int a, b;scanf("%d %d", &a, &b);b = a ^ b;a = a ^ b;b = a ^ b;printf("%d %d", a, b); return 0;
}

G - C语言实验——逆置正整数

语法点: % 与 / 运算符

/ 为整除符号, / 符号运算的结果取决于左右值的精度大小, 如果/左右都是整数, 最后运算的结果也是整数, 会忽略余数, 如3 / 2的结果是1, 而非1.5。
想算出来1.5可以将左右两边其中一边改成小数, 如 3.0 / 2, 这样运算的结果也是一个浮点数(1.5)
也可以乘以一个1.0, 如3 * 1.0 / 2, 这样也相当于让除号一边变成浮点型 ;

% 运算则是求除法运算后的余数, 如3 % 2 的结果为 1
%运算左右两边不能有小数

语法点: != 0 和 == 0 的简写

(非零) 表示真, (0)表示假
if(A != 0) 可以简写为 if(A)
if(A == 0) 可以简写为 if(!A)

拓展知识: C语言运算符

code G

//分离每一位并且加起来(原版)#include <stdio.h>int main()
{int n;scanf("%d", &n);int a1, a2, a3;a1 = n % 10; //分离当前的个位a2 = n / 10 % 10; //分离当前的十位a3 = n / 100; //分离当前的百位int ans = a1 * 100 + a2 * 10 + a3;printf("%d", ans);return 0;
}
//分离每一位(从低位到高位)
#include <stdio.h>int main()
{int n;scanf("%d", &n);int sum = 0;int p = 0;while(n){p = p * 10 + n % 10; //每次当前位 * 10进位并且加上当前位的值n /= 10;}printf("%d", p);return 0;
}
//分离每一位并且加起来(从高位到低位)
#include <stdio.h>int main()
{int n;scanf("%d", &n);int rev = 0; //存逆置后的结果int p = 100; //p表示的是逆置后的当前位(基数), 逆置后每一位分别为百位, 十位, 个位, 每次 / 10while(n) // n != 0 的简写, 用循环来分离每一位{rev += n % 10 * p; //n % 10表示分离当前位的数字p /= 10; //基数 / 10n /= 10; //n除以10, 表示向前一位 }printf("%d", rev);return 0;
}

H - C语言实验——买糖果

注意换算一下单位, 还是 % 的简单应用

code H

#include <stdio.h>int main()
{int n;scanf("%d", &n); n *= 10; //n = n * 10的简写, 换算成角printf("%d %d", n / 3, n % 3); //买的糖数 = 总钱数 / 单价, 剩余钱数 = 总钱数 % 单价return 0;
}

I - C语言实验——三个整数和、积与平均值

语法点: 整数 / 整数 与 整数 / 浮点数

计算 整数 / 整数 默认作为整除运算, 即只会获得商的结果, 余数会自动舍弃; 而当整数 / 浮点数的时候 (或者整数 * 浮点数), 在运算的时候会将两个数都转为精度更高的浮点数, 这样才能得到小数结果。 另一种转为浮点型运算的方式是在式子后面 * 1.0, 如a * 1.0 / b

语法点: 实型(浮点型) 保留精度(小数点后几位)

%.mf表示保留小数点后几位小数, 如printf("%.5f", x) 表示输出x并保留小数点后五位小数, %.0f 表示保留整数部分

保留精度的原则是"四舍六入五成双", 可以不必深究, 大部分情况下均满足"四舍五入"

(int)(x + 0.5) 与 round()函数可以实现较为严格的四舍五入

code I

#include <stdio.h>int main()
{int a, b, c;scanf("%d %d %d", &a, &b, &c);int sum, mul;double ave; //平均数是小数, 要定义成doublesum = a + b + c;mul = a * b * c;ave = sum / 3.0; //注意这里是3.0, 不然会进行整除运算//这里也可以写称 ave = sum * 1.0 / 3;printf("%d %d %.2f", sum, mul, ave); //%.2f控制精度为保留小数点后两位小数return 0;
}

J - C语言实验——格式化输出(常量练习)

只需要了解printf和scanf的常见占位符及其用法即可(当然也可以全当字符串输出)

code J

#include <stdio.h>int main()
{printf("%d\n", 100);printf("%c\n", 'A');printf("%.6f\n", 3.14);return 0;
}

K - C语言实验——圆柱体计算

这里的圆周率可以定义为常量

语法点: 常量的定义

常量一般有两种定义的方式

第一种是用#define 宏定义
#define pi 3.14159

第二种是const 赋予变量只读的属性
const double pi = 3.14159;

注意第一种不需要写数据类型也不需要写分号, 而第二种需要写

语法点: pi的表示方式

使用const修饰的变量或者#define宏定义都可以定义常量pi, 如果想使用更加精确的pi, 可以使用<math.h>下的函数acos(), acos(-1.0)即可精确定义pi

code K

#include <stdio.h>#define pi 3.1415926 //用define定义的常量后面没有分号, 也不需要指定类型
int main()
{double r, h;scanf("%lf %lf", &r, &h);double c = 2 * pi * r;double s = pi * r * r;double ss = c * h;double v = s * h;printf("%.2f %.2f %.2f %.2f", c, s, ss, v);return 0;
}
#include <stdio.h>const double pi = 3.1415926; //用const修饰的变量会被赋予只读属性。注意需要声明类型,后面也有分号
int main()
{double r, h;scanf("%lf %lf", &r, &h);double c = 2 * pi * r;double s = pi * r * r;double ss = c * h;double v = s * h;printf("%.2f %.2f %.2f %.2f", c, s, ss, v);return 0;
}
//利用acos()函数定义更高精度的pi, 在算法题中可能用到
#include <stdio.h>
#include <math.h>#define pi acos(-1.0)int main()
{double r, h;scanf("%lf %lf", &r, &h);double c = 2 * pi * r;double s = pi * r * r;double ss = c * h;double v = s * h;printf("%.2f %.2f %.2f %.2f", c, s, ss, v);return 0;
}

L - C语言实验——温度转换

按公式计算即可

code L

#include <stdio.h>int main()
{double f, c;scanf("%lf", &f);c = 5 * (f - 32) / 9; //除号前面为double类型, 这里的9可以不写成9.0printf("%.2f", c);return 0;
}

M - C语言实验——单个字符输入和输出(顺序结构)

可以选择getchar() 与 putchar() 函数, 也可以直接用scanf() 和 printf()的 %c 或 %s输入输出

code M

//使用getchar()和putchar()
#include <stdio.h>int main()
{char c = getchar(); //需要拿一个char变量来存返回值putchar(c);return 0;
}
//用scanf和printf %c输入输出
#include <stdio.h>int main()
{char c;scanf("%c", &c);printf("%c", c);return 0;
}
//用scanf和printf %s输入输出
#include <stdio.h>int main()
{char c[2];scanf("%s", c);printf("%s", c);return 0;
}

N - C语言实验——转换字母(顺序结构)

转换字母的大小写一般有两种方式, 即通过ASCII码小写字母比大写字母大32或者计算偏移量来实现 (当然也可以使用ctype.h头文件下的tolower和toupper函数)

语法点: ASCII码 && 常用ASCII码

char类型字符变量在计算机中存储的实际上是一个数(即ASCII码值, 范围为0 ~ 127, 因为char类型大小为1 byte = 8 bit), 其中小写字母比大写字母的ASCII码值大32

常用的ASCII码值:
‘0’: 48
‘a’: 97
‘A’: 65

其他的’1’ ~ ‘9’、‘b’ ~ ‘z’、 ‘B’ ~ ‘Z’的编码值可以由’0’、‘a’、'A’推出

如果不知道字符的ASCII值, 可以用 %d 格式打印char类型变量, 打印出来的即为对应的ASCII码值
char c = 'a'; printf("%d", c); 的值为97

code N

//小写字母ASCII码值-32 = 对应大写字母ASCII码值
#include <stdio.h>int main()
{char a;scanf("%c", &a);printf("%c", a - 32);return 0;
}
//小写字母到'a'的距离与其对应的大写字母到'A'的偏移量(距离)相同, 这个技巧以后会经常用到
#include <stdio.h>int main()
{char a;scanf("%c", &a);printf("%c", a - 'a' + 'A');return 0;
}
//使用<ctype.h>头文件下的toupper函数转换为大写字母
#include <stdio.h>
#include <ctype.h>
int main()
{char a;scanf("%c", &a);printf("%c", toupper(a));return 0;
}

O - 实数的输出和占位

可以仔细比对自己的输出结果与output的结果

语法点: 控制输出的宽度及左右对齐

宽度:
%md 为控制输出宽度为m, 如果输出的内容的长度小于m, 不足的位置会用空格填充, 比如%8d 输出123时,结果为 (前面五个空格)123; 如果输出内容长度>=m, 则不影响输出结果

%0md 也是控制输出宽度为m, 只是不足m的部分会用0填充, 如 %08d 输出 123 时, 结果为00000123

对齐:
C语言默认输出为左对齐
当使用%md%0md 这种控制宽度的语句时会改变为右对齐000123
在控制宽度语句的基础上添加负号-, 会重新变成左对齐

code O

#include <stdio.h>int main()
{double a;scanf("%lf", &a);printf("%f\n", a); //双精度默认输出, 注意最新的c标准double类型输出用f而不是lf, 当然用lf也不会错printf("*%10.3f*\n", a);//设置宽度后会变成右对齐printf("*%-10.3f*\n", a); //使用负号并且设置宽度会恢复左对齐return 0;
}

P - 大整数的输入输出

注意long long类型占位符是%lld

code P

#include <stdio.h>int main()
{long long a, b;scanf("%lld %lld", &a, &b);printf("%lld", a + b);return 0;
}

Q - 带’ 和 ”字符的输出

语法点: 转义字符

在某些字母前面加上转义符号\会让其有特殊的含义, 如\n 表示换行, \t 表示tab(制表符), \0表示空字符NULL,常用作字符串结束标志, 如果想打印出来\ " ' %等特殊字符, 也需要用转义字符转义一下, 如\\, \', \", %% 等, 注意只有%符号的转义符号为%, 其他均为\

code Q

#include <stdio.h>int main()
{char c = getchar();printf("\'%c\'\n", c);printf("\"%c\"\n", c);return 0;
}

R - '%'字符的输入输出

语法点同上一题, 注意的是 % 的转义字符是 % , 其他的都是 \; 也可以当字符串直接输出

code R

//注意scanf输入和printf输出都需要把%转义
#include <stdio.h>int main()
{int a, b, c;scanf("%d%%%d%%%d", &a, &b, &c);printf("%d%%%d%%%d", a, b, c);return 0;
}
//直接当字符串输出(如果使用gets需要用c提交)
#include <stdio.h>int main()
{char s[100];gets(s); //gets用于读取一行字符串(无视中间的空格), 但在cpp里已经弃用, 需要用c提交puts(s); //puts用于输出字符串,并且会自动输出换行符return 0;
}

S - ‘\’字符的输入输出

语法点同上一题, \ 的转义字符为 \

code S

#include <stdio.h>int main()
{int a, b, c;scanf("%d\\%d\\%d", &a, &b, &c);printf("%d\\%d\\%d", a, b, c);return 0;
}

T - 十六进制数输出和占位

语法点: 十六进制数输出

十六进制的每一位由 0 1 2 3 4 5 6 7 8 9 a(A) b(B) c© d(D) e(E) f(F) 组成, 其中字母为小写时输出的占位符为 %x, 为大写时输出的占位符为 %X

code T

#include <stdio.h>int main()
{int a;scanf("%d", &a);printf("%d\n", a);printf("%x\n", a); //%x字母小写printf("%X\n", a); //%X字母大写return 0;
}

U - 八进制数输出和占位

语法点同O题 “控制输出的宽度及左右对齐”

在控制宽度的%md前面加一个0, 也就是%0md,可以把宽度不足的位用0填充

语法点: 八进制数的输出

%o 为八进制整数的占位符

code U

#include <stdio.h>int main()
{int a;scanf("%d", &a);printf("%d\n", a);printf("*%08o*\n", a); //八进制输出用%oprintf("*%-8o*\n", a); //控制宽度会变成右对齐, 在前面再添加一个符号会重新变成左对齐return 0;
}

V - 十进制输入输出和其它非空格占位

语法点同O题 “控制输出的宽度及左右对齐”

code V

#include <stdio.h>int main()
{int a;scanf("%d", &a);printf("%d\n", a);printf("*%08d*\n", a); printf("*%-8d*\n", a); return 0;
}

W - 十进制输入输出和空格占位

语法点同O题 “控制输出的宽度及左右对齐”

code W

#include <stdio.h>int main()
{int a;scanf("%d", &a);printf("%d\n", a);printf("*%8d*\n", a); printf("*%-8d*\n", a); return 0;
}

X - 字符型数据输出和占位

语法点同O题 “控制输出的宽度及左右对齐”

code X

#include <stdio.h>int main()
{char a;scanf("%c", &a);printf("%c\n", a);printf("*%4c*\n", a); printf("*%-4c*\n", a); return 0;
}

题解仅供参考, 一定要多敲多思考!!! 有问题欢迎在评论区指出或单独联系我!

【C语言入门】SDUT《程序设计基础I 》实验1-顺序结构程序设计题解 c语言入门语法讲解相关推荐

  1. 【C语言入门】SDUT《程序设计基础I 》实验2-选择结构程序设计题解 c语言语法讲解

    题目链接 A - C语言实验--求绝对值(选择结构) 使用if选择语句, 大于等于 0 直接输出, 小于 0 输出 -x 即可 拓展: 求绝对值的函数 <math.h>头文件下有abs() ...

  2. python顺序结构实验设计_实验二 顺序结构程序设计(验证性实验)

    安徽工程大学 Python程序设计实验报告 班级物流192 姓名 徐敏 学号 3190505232 成绩 _____ 日期 2020.3.22 指导老师 修宇 [实验名称] 实验二 顺序结构程序设计( ...

  3. python顺序结构实验设计_实验二 顺序结构程序设计

    实验二 顺序结构程序设计(验证性实验)(二学时) Python 程序设计 实验报告 班级_物流192_________ 姓名_吴陈燕_________ 学号_3190505219__________成 ...

  4. c语言已知祖父年龄70,实验三循环结构程序设计.doc

    实验三循环结构程序设计 实验三 循环结构程序设计 一.实验目的 (1) 掌握while.do~while.for语句的使用. (2) 掌握循环体内使用break.continue语句的作用. (3) ...

  5. C语言顺序结构程序设计PPT,C语言习题集与实验指导 教学课件 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计.pdf...

    [摘要]第3章 顺序结构程序设计 第3章 顺序结构程序设计 当你对C语言程序设计有了一定了解和掌握后, 在处理一些简单的任务时,若想根据程序书写的过程 顺序执行程序,这时应该如何处理呢? •顺序结构 ...

  6. 【实验1 顺序结构】7-3 sdut-C语言实验-虎子分糖果

    题目 我们中国各个地区都有拜年的美好习俗,小朋友最喜欢走亲访友了,因为亲戚们会给准备很多糖果吃.虎子家也不例外,妈妈买了很多俄罗斯糖果准备给前来拜年的小朋友分.为了公平,给每个小朋友的糖果数一定得是一 ...

  7. c语言顺序结构程序设计第4章答案,第4章顺序结构程序设计习题及答案.doc

    第4章顺序结构程序设计习题及答案 第4章 顺序结构程序设计 4-1 C语言的控制语句有哪些? 答:C语言有九条控制语句: 条件语句:if-else语句. 开关语句:switch语句. 当循环语句:wh ...

  8. python顺序结构实验_Python程序设计实验报告二:顺序结构程序设计

    安徽工程大学 Python程序设计 实验报告 班级 物流192 姓名方伟虎学号3190505205 成绩 日期 2020.3.20 指导老师修宇 [实验名称] 实验二 顺序结构程序设计(验证性实验) ...

  9. python顺序结构实验_Python程序设计实验报告二:顺序结构程序设计(验证性实验)...

    安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名姚彩琴学号3190505129 成绩 日期 2020.3.3 指导老师修宇 [实验名称] 实验二 顺序结构程序设计(验证性实验) [ ...

  10. python顺序结构实验设计_Python程序设计实验报告二:顺序结构程序设计

    安徽工程大学 Python程序设计实验报告 班级 物流192 姓名 周立 学号 3190505227成绩 日期 3月4日 指导老师修宇 实验二 顺序结构程序设计(验证性实验) [实验目的] (1)掌握 ...

最新文章

  1. mysql linux centos 安装_Linux centos 下在线安装mysql
  2. 5年程序员生涯,使用的最频繁的Git 命令总结
  3. Syncd - 开源自动化部署工具
  4. linux 特殊shell变量
  5. 在Apache服务器上安装SSL证书
  6. eclipse简单使用
  7. java getconstructors,java 反射 constructors的问题,真心需要解决
  8. Facebook的体系结构分析---外文转载
  9. windows10没有nfs服务_3GB+极度精简+不更新,被誉为最纯净Windows10,老爷机总算有救了...
  10. 服务器显示初始化失败怎么回事,服务器初始化失败
  11. 微信小程序srt_微信小程序商城开发之实现商品加入购物车的功能(代码)
  12. Python状况:为什么PyPy是Python的未来?
  13. 2022高处安装、维护、拆除考试题库及模拟考试
  14. Windows——如何关闭笔记本自带键盘
  15. 8.PPP拨号 获取ip地址
  16. 单片机:按键调节时钟
  17. 2008.05.19 默哀祈福
  18. 股票自选股基本函数大全-7
  19. Android集成Facebook登录时遇到的问题invalid key hash.the key hash
  20. 酒店管理系统/停车场管理系统(毕业设计+代码)

热门文章

  1. 服务器机房搬迁导致服务器无法识别raid/数据恢复全过程
  2. 第八课:条件判断语句
  3. 内销djyp3v计算机电缆,计算机电缆产品DJYP3V DJYP2VP2天联牌屏蔽电缆
  4. Netty粘包拆包、自定义Protostuff编解码器
  5. Oracle 中关于差异增量备份与累积增量备份原理与区别
  6. qq、微信这些软件可以联网,但浏览器不可以解决方法
  7. 作业帮上万个 CronJob 和在线业务混部,如何解决弱隔离问题并进一步提升资源利用率?
  8. 使用 Three.js 实现跳一跳游戏
  9. 聊一聊二分查找的实现
  10. 活动推荐 | 听说 PHP 是最好的语言 - 和 OneAPM 一起参与上海 PHPCon 技术盛宴吧