课堂练习:判断

1.计算时差2.0:两个时间结点

#include <stdio.h>
int main()
{int hour1, min1;int hour2, min2;scanf("%d %d", &hour1, &min1);scanf("%d %d", &hour2, &min2);int hour = hour2 - hour1;int min = min2 - min1;if (min < 0) {hour--;min += 60;}printf("%d %d", hour, min);return 0;
}

2.找零计算器

#include <stdio.h>
int main()
{
// 初始化int price = 0;int money = 0;// 读入应缴金额以及票面printf("请输入应缴金额:");scanf("%d", &price);printf("请输入票面:");scanf("%d", &money);//计算找零或者补差价if (price <= money) {printf("找您%d元", money - price);}if (price > money) {printf("请再支付%d元", price - money);}return 0;
}

3.成绩转换

//else-if语句
#include <stdio.h>
int main()
{int score = 0;scanf("%d", &score);if (score >= 90) {printf("A");}else if (score >= 80) {printf("B");}else if (score >= 70) {printf("C");}else if (score >= 60) {printf("D");}else {printf("E");}return 0;
}
//switch-case语句
#include <stdio.h>
int main()
{int score = 0;scanf("%d", &score);score /= 10; //得到十位数/百位数switch (score) {case 10://注意这个情况自己写的时候忘了,以及写法,break再离开case 9:printf("A");break;case 8:printf("B");break;case 7:printf("C");break;case 6:printf("D");break;default:printf("E");}return 0;
}//如上是多出口,其实是不好的 

课堂练习:循环

1.计算整数位数

1.10000以内整数

//10000以内整数 else-if
#include <stdio.h>
int main()
{int a = 0;scanf("%d", &a);if (a > 999) {printf("4");}else if (a > 99) {printf("3");}else if (a > 9) {printf("2");}else {printf("1");}return 0;
}
//更正,改为单出口
int n = 0;
if (a > 999) {n = 4;
}
else if (a > 99)……

2.任意范围正整数

算法:

  1. 输入变量 x

  1. 初始化 n为0

  1. x/=10

  1. n++

  1. 如果 x>0,返回步骤3

  1. 否则n就是结果

//任意范围正整数 while
int a = 0;
int n = 0;scanf("%d", &a);while (a > 0) {a /= 10;n++;
}
printf("%d", n);
//任意范围正整数 do-while
int a = 0;
int n = 0;scanf("%d", &a);do {a /= 10;n++;
} while (a > 0);
printf("%d", n);

2.猜数

算法:

  1. 计算机想一个数,存储在 number中

  1. 初始化计数变量 count

  1. 用户输入猜的数 a

  1. count++

  1. 判断a和number 的关系:a>number,输出 大了;a<number,输出 小了;a=number,输出 你猜对了。

  1. 如果a和number是不相等的,返回步骤3

  1. 否则,输出a和count,然后结束。

#include  <stdio.h>
#include  <stdlib.h>
#include  <time.h>int main()
{srand(time(0));int number = rand()%100;printf("我已经想好了一个1-100之间的整数!\n");int a = 0;int count = 0;do {printf("请输入1-100之间的整数:");scanf("%d", &a);count++;if (a < number) {printf("猜小了\n");}else if (a > number) {printf("猜大了\n");}} while (a != number);printf("太好了,你用%d次就猜到了计算机想的数!",  count);return 0;
}

3.求平均数

算法:

  1. 初始化 sum、count为0

  1. 输入一个number

  1. 如果number不是-1,sum+=number,count++

  1. 如果number是-1,计算并打印 sum/count(注意换成浮点数)

流程图:

#include <stdio.h>
int main()
{int sum = 0;int count = 0;int num;do{scanf("%d", &num);if (num != -1) {sum += num;count++;}} while (num != -1);printf("平均数是%f", 1.0 * sum / count);//注意输出结果数据类型在这里改为浮点数return 0;
}

4.整数求逆

程序图

// stu
#include <stdio.h>
#include <math.h>
int main()
{int num;scanf("%d", &num);int num2 = num; //保存输入的整数int count = 0;int n1,n2;int res = 0;//计算整数的位数do{num /= 10;count++;}while (num > 0);//整数分解do {count--;n1 = num2 % 10; //当前数个位数num2 /= 10; //数右移,舍去个位n2 = pow(10,count); //10的N次方res += n1 * n2; //个位数 * 10的N次方} while (num2 > 0);printf("%d", res);return 0;
} 
// tea
#include <stdio.h>
int main()
{int x;scanf("%d", &x);int digit;int ret = 0;while (x > 0) {digit = x % 10;ret = ret * 10 + digit;x /= 10;}printf("%d", ret);return 0;
}
/*与老师的版本相比,思路有些一板一眼,不巧妙*/
    while (x > 0) {digit = x % 10;printf("%d", digit); //如果想输出007,像这样排列输出,不是一个数,是多个数排列ret = ret * 10 + digit;x /= 10;}

5.n的阶层

#include <stdio.h>
int main()
{int n;scanf("%d", &n);int ret = 1;while (n > 0) {ret *= n;n--;}printf("%d", ret);return 0;
}
#include <stdio.h>
int main()
{int n;scanf("%d", &n);int i = 1;int a = 1;while (i <= n) {a *= i;i++;}printf("%d", a);return 0;
}
#include <stdio.h>
int main()
{int n;scanf("%d", &n);int i = 1;int a = 1;for (i = 1; i <= n; i++) {a *= i;}printf("%d", a);return 0;
}

6.判断素数——感受引用中间变量isPrime

1.判断一个数是不是素数

#include <stdio.h>
int main()
{int x;scanf("%d", &x);int i = 1;int isPrime = 1; // 证真for (i = 2; i < x; i++) {if (x % i == 0) {isPrime = 0;break;   // 跳出循环!!   }}if (isPrime == 1) {printf("%d是素数", x);}else {printf("%d不是素数", x);}return 0;
}

2.判断100以内的素数

#include <stdio.h>
int main()
{int x = 1;for (x = 2; x < 100; x++) {int i = 1;int isPrime = 1; for (i = 2; i < x; i++) {if (x % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {printf("%d ", x);}}printf("\n");return 0;
}

3.前50个素数

#include <stdio.h>
int main()
{int x = 1;int count = 0;while (count < 50) {int i = 1;int isPrime = 1;for (i = 2; i < x; i++) {if (x % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {printf("%d ", x);count++;}x++;}return 0;
}
#include <stdio.h>
int main()
{int x = 1;int count = 0;for (x = 2; count < 50; x++) {//注意这里for的循环条件int i = 1;int isPrime = 1;for (i = 2; i < x; i++) {if (x % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {printf("%d ", x);count++;}}return 0;
}

7.凑硬币——感受break和goto out

// 一毛、二毛、五毛凑成二块——枚举,三个循环
// ^a+^b+^c=10
#include <stdio.h>
int main()
{int one, two, five; //系数int x = 2;x *= 10; //单位为 毛for(one = 1; one <= x / 1; one++) {for (two = 1; two <= x / 2; two++) {for (five = 1; five <= x / 5; five++) {if (one + two * 2 + five * 5 == x) {printf("%d个一毛%d个两毛%d个五毛可以组成2块\n", one, two, five);}} }}return 0;
}
#include <stdio.h>
int main()
{int one, two, five; //系数int x = 2;x *= 10; //单位为 毛int exit = 0;for (one = 1; one <= x / 1; one++) {for (two = 1; two <= x / 2; two++) {for (five = 1; five <= x / 5; five++) {if (one + two * 2 + five * 5 == x) {printf("%d个一毛%d个两毛%d个五毛可以组成2块\n", one, two, five);exit = 1;goto out;}}}}out:return 0;
}

8.前n项和

#include <stdio.h>
int main()
{int i;double sum = 0;int n = 2;for (i = 1; i <= n; i++) {sum += 1.0/ i;
/*注意感受数据类型的变化,这里得是1.0,右边做完计算再赋值。
以i=2为例:
赋值时1/i自动结果是整数为0,赋给浮点数sum,表示为0.000000
赋值时1.0/i自动结果是浮点数0.500000,赋给浮点数,表示为0.500000
*/}printf("%f", sum);return 0;
}
#include <stdio.h>
int main()
{int i = ;int n = 2;double sum = 0;double sign = 1;for (i = 1; i <= n; i++) {sum += sign / i; //很巧妙。由于sign是浮点数,不用另*1.0使结果为浮点数sign = -sign;}printf("%f", sum);return 0;
}

9.正序分解整数

//倒序
#include <stdio.h>
int main()
{int x = 12325;while (x > 0) {printf("%d ", x % 10);x /= 10;}return 0;
}
// 正序
#include <stdio.h>
int main()
{int x = 12325;int a = 10000;do{printf("%d ", x / a);x %= a;a /= 10;} while (x > 0);return 0;
}

解题启迪:拆分,从简单来,特殊情况举例

倒序输出——解决结尾空格——正序输出——7 0 0输出——自动判断1000——任意数输入

// 倒叙输出
#include <stdio.h>
int main()
{int x =0;scanf("%d", &x);int a = 1;do{a *= 10;}while (a <= x);a /= 10; //比如x=12345,找到a=10000do{printf("%d", x / a); //从高位枚举取数if (a >= 10) {printf(" ");}//数与数间的空格x %= a;//得到剩余的数a /= 10;} while (a > 0);return 0;
}

10.求最大公约数

#include <stdio.h>
int main()
{int a, b;scanf("%d %d", &a, &b);int min;if (a < b) {min = a;}else {min = b;}int i;for (i = 1; i <= min ; i++){ //注意能不能参加循环的条件if (a % i == 0){if (b % i == 0){printf("%d ", i);}}}return 0;
}

课堂练习:数组

1.遍历找数

#include <stdio.h>
/*
* 函数search用于找出数key在数组a中的位置
* @param key 要找的数
* @param a 要遍历的数组
* @param length 要遍历的数组长度
* @return 如果找到,返回其在a中的位置,如果找不到,返回值-1
*/
int Search(int key, int a[], int length);int main()
{int a[] = { 1,2,3,4,5,6 };int x;printf("请输入一个数字:");scanf("%d", &x);int len = sizeof(a) / sizeof(a[0]);int loc = Search(x,a,len);//注意数组,直接用a,而不是a[]if (loc != -1) {printf("%d在数组a中%d位置\n",x,loc);}else {printf("%d不在数组a中\n",x);}return 0;
}int Search(int key, int a[], int length)
{int ret = -1;int i;for (i = 0; i < length; i++) {if (a[i] == key) {ret = i;break;//自己写没想到这步}}return ret;
}

注意事项:

  • 数组作为函数参数,必须再用另一个参数传入数组大小

  • 数组作为函数参数,不能在声明中给出数组大小,只能a[],不能a[number]

  • 数组作为函数参数,不能再定义中用sizeof来计算数组的元素个数(别问为什么,就这样吧

2.数量不确定

//stu
// 输入1 2 3 4 5 9 8 7 5 2 4 5 6 5 0 1 0 0 0 1 5 2 4 5 6 9 8 7 8 5 5 5 -1
#include <stdio.h>
int main()
{int home[500];// 挨个读数,存入数组int num = 0;int count = 0;if (count <= 500) {while (num != -1) {scanf("%d", &num);if (num != -1) {home[count] = num;count++;}}}//10次遍历,每次用一个数去比较int j;for (j = 0; j <= 9; j++) {int i;int cnt = 0;for (i = 0; i <= (count - 1); i++) {if (home[i] == j) {cnt++;}}printf("%d:%d个\n", j,cnt);}return 0;
}

tea:不用每个数都存,计数就行,所以需要十个变量

// tea-stu
// 输入1 2 3 4 5 9 8 7 5 2 4 5 6 5 0 1 0 0 0 1 5 2 4 5 6 9 8 7 8 5 5 5 -1
#include <stdio.h>
int main()
{int home[10];{int i;for (i = 0; i <= 9; i++) {home[i] = 0;}}int num = 0;while (num != -1) {scanf("%d", &num);if (num != -1) {home[num]++;}}int i;for (i = 0; i <= 9; i++) {printf("%d: %d\n", i,home[i]);}return 0;
}
//tea 与我不一样的地方1
if (num >= 0 && num <= 9) {home[num]++;
}//tea 与我不一样的地方2
const int end = 10;
// tea
// 输入1 2 3 4 5 9 8 7 5 2 4 5 6 5 0 1 0 0 0 1 5 2 4 5 6 9 8 7 8 5 5 5 -1
#include <stdio.h>
int main()
{const int begin = 0;    const int end = 10;int home[end];{int i;for (i = begin; i < end; i++) {home[i] = 0;}}int num = 0;while (num != -1) {scanf("%d", &num);if (num >= begin && num < end) {home[num]++;}}int i;for (i = begin; i < end; i++) {printf("%d: %d\n", i,home[i]);}return 0;
}

3.素数

#include <stdio.h>
int isPrime(int x)
{int ret = 1;int i;if (x == 1) {ret = 0;}for (i = 2; i < x; i++) {if (x % i == 0) {ret = 0;break;}}return ret;
}int main()
{int x = 11;if (isPrime(x)) {printf("Yes!");}return 0;
}

简化isPrime函数:减少循环次数,提高效率

简化思路:

方案一:先判断是不是偶数,在奇数范围内寻找

#include <stdio.h>
int isPrime(int x)
{int ret = 1;int i;if (x == 1|| (x%2==0 && x!=2)) {ret = 0;} for (i = 2; i < x; i++) {if (x % i == 0) {ret = 0;break;}}return ret;
}

方案二:在一基础上,缩小结束条件,缩到为根号

#include <math.h>
int isPrime(int x)
{int ret = 1;int i;if (x == 1|| (x%2==0 && x!=2)) {ret = 0;} for (i = 2; i < sqrt(x); i++) {//基于数学原理if (x % i == 0) {ret = 0;break;}}return ret;
}

方案三:和素数表对照——先得到素数对照表

没明白没明白没明白没明白(已解决)

  • isPrime函数怎么判断素数的没明白,为什么关键条件是 x % a[] == 0,就不是素数——不能被1和本身以外的数整除,数= 素数 * 非素数 = 素数 * 素数 *素数,所以可以素数锁定范围

为啥这样次数就少了?

  • 每个数要判断是不是素数

  • 小于它的所有数去除→小于它的所有素数去除

巧妙的地方

  • 构造素数数组的方法,从2开始一个一个去除,前面的数没有因子(不精准的表述,方便个人理解

#include <stdio.h>
/*
* isPrime函数用来和素数表对照,判断一个数是不是素数
* @param x,输入的数
* @param home,素数表(数组)
* @param len,素数表长度
*/
#include <stdio.h>
int isPrime(int x, int home[], int len)
{int ret = 1;int i;for (i = 0; i < len; i++) {if (x % home[i] == 0) { //看能不能被已有素数整除,不能则为素数ret = 0;break;}}return ret;
}//总体思路是一边构造表,一边判断是不是
int main()
{const int len = 5;int primeHome[len] = { 2 };//int count = 1;//角标int i;printf("\t\t");int k;for (k = 0; k < len; k++) {printf("%d\t", k);}printf("\n");for (i = 3; count < len; i++) {//从i=3开始判断是不是素数if (isPrime(i, primeHome, count)) {primeHome[count++] = i; //是素数,放到素数数组里}{printf("i=%d\tcount=%d\t", i, count);int j;for (j = 0; j < len; j++) {printf("%d\t", primeHome[j]);}}printf("\n");}printf("素数:\n");int j;for (j = 0; j < len; j++) {printf("%d", primeHome[j]);if ((j + 1) % 5 != 0) {printf("\t");}else {printf("\n");}}return 0;
}

方案四:删去倍数

//stu1
#include <stdio.h>
int isPrime(int x);
int main()
{// 1.创建数组const int LEN = 10;int prime[LEN];int i;// 2.漂亮的题头for (i = 0; i < LEN; i++) {printf("%d\t", i);}printf("\n");// 3.假设都为素数,为1for (i = 0; i < LEN; i++) {prime[i] = 1;}// 4.已知0不是先排除prime[0] = 0;//printf("\n");// 5.对素数x倍数位置的元素赋0int x;for (x = 2; x < LEN; x++) {if (isPrime(x)) {int j;for (j = 2; x * j < LEN; j++) {prime[x * j] = 0;}}}// 6.查看数组for (i = 0; i < LEN; i++) {printf("%d\t", prime[i]);}printf("\n");return 0;
}int isPrime(int x)
{int i;int ret = 1;for (i = 2; i < x; i++) {if (x % i == 0) {ret = 0;break;}}return ret;
}
//stu2
#include <stdio.h>
int isPrime(int x);
int main()
{// 1.创建数组const int LEN = 10;int prime[LEN];int i;// 2.假设都为素数,为1for (i = 0; i < LEN; i++) {prime[i] = 1;}// 3.对素数x倍数位置的元素赋0int x;for (x = 2; x < LEN; x++) {if (isPrime(x)) {for (i = 2; x * i < LEN; i++) {prime[x * i] = 0;}}}// 4.查看素数for (i = 2; i < LEN; i++) {if (prime[i]) {printf("%d ", i);}}printf("\n");return 0;
}int isPrime(int x)
{int i;int ret = 1;for (i = 2; i < x; i++) {if (x % i == 0) {ret = 0;break;}}return ret;
}

方案五:在四基础上,循环构建素数表

//tea
#include <stdio.h>
int main()
{// 1.创建数组const int LEN = 10;int prime[LEN];int i;// 2.假设都为素数,为1for (i = 0; i < LEN; i++) {prime[i] = 1;}// 3.对素数x倍数位置的元素赋0int x;for (x = 2; x < LEN; x++) {if (Prim[x]) {//注意这里!!!!!!for (i = 2; x * i < LEN; i++) {prime[x * i] = 0;}}}// 4.查看素数for (i = 2; i < LEN; i++) {if (prime[i]) {printf("%d ", i);}}printf("\n");return 0;
}

感想:循环构造素数表的思想,没想到,不是很理解,双线程工作

4.3×3棋盘格

1.读入矩阵

注意:a[i][j]是一个变量,可以直接赋值,格式化输入、输出等

const int size = 3;//这里没想到用一个const
int a[size][size];
int i, j;// 0.读入矩阵
// 输入1 0 1 0 1 0 1 1 1
for (i = 0; i < 3; i++) {for (j = 0; j < 3; j++) {scanf("%d", &a[i][j]);}
}// 查看数组
for (i = 0; i < 3; i++) {for (j = 0; j < 3; j++) {printf("%d", a[i][j]);}printf("\n");
}
// 错误程序,试了一下,这样不可以!!!!
for (i = 0,j = 0; i < 3 && j < 3; i++,j++) {printf("%d", a[i][j]);printf("\n");
}

2.检查行/列

// 1.检查行
// 利用ret 成行时ret=3
for (i = 0; i < 3; i++) {int ret = 0;for (j = 0; j < 3; j++) {if (a[i][j]) {ret++;}}if (ret == 3) {printf("Bingo!\n");}
}// 2.检查列
for (j = 0; j < 3; j++) {int ret = 0;for (i = 0; i < 3; i++) {if (a[i][j]) {ret++;}}if (ret == 3) {printf("Bingo!\n");}
}

3.检查对角线

// 3.检查左上-右下对角线
// 11 22 33都为1
{int ret = 0;for (i = 0; i < 3; i++) {if (a[i][i]) {ret++;}}if (ret == 3) {printf("Bingo!\n");}
}// 4.检查右上-左下对角线
// 13 22 31
{int ret = 0;for (i = 0; i < 3; i++) {if (a[i][4-i]) {ret++;}}if (ret == 3) {printf("Bingo!\n");}
}

课堂练习:指针

1.交换两个变量的值

#include <stdio.h>
void Swap(int* p, int* q)
{//printf("a = %d, b = %d", a, b); //↑ 编译报错,因为a,b不进入这个变量空间int ret = *p;// 根据地址交叉赋值*p = *q;*q = ret;
}
int main()
{int a = 5;int b = 6;printf("a = %d, b = %d\n", a, b);Swap(&a, &b);printf("a = %d, b = %d\n", a, b);return 0;
}

2.有多个返回值——判断数组单元的最大值和最小值

#include <stdio.h>
void MinMax(int home[], int len, int* min,int* max);int main()
{int a[10] = { 1,2,3,4,5,6,7,8,9,10 }; //①注意这里数组要设置范围即a[number],不然运行会一直跑到天荒地老 修正!!这里可以用int a[]或int a[ ],直接指明number运行速度会更快int i = 0;int j = 1;int* p = &i; //最小值的位置 //②注意这里要先给指针变量一个地址,而不是随便就定义了。有点像int i;但此时i的数值不定int* q = &j; //最大值的位置MinMax(a, sizeof(a) / sizeof(a[0]), p, q); //③注意这里数组作为参数,用a,而不是a[];另外指针要传递p,而不是*p,因为*p是变量值,p是地址,要传递地址printf("min = %d, max = %d", *p, *q);return 0;
}// 函数思路是不断刷新某个地址的值,直到所有数遍历完
// 偏个题,有点像遍历循环构建素数表,但比那个简单
void MinMax(int home[], int len, int* min, int* max)
{*min = home[0];*max = home[0];int i;for (i = 0; i < len; i++){if (home[i] < *min) {*min = home[i];}if (home[i] > *max) {//④这里不能接上面用else,因为还有个区间范围是min~max*max = home[i];}}
}
// 老师程序的简洁性
// ①main*max =中定义指针变量
int min,max;
MinMax(a, sizeof(a) / sizeof(a[0]), *min, *max); // ②Swap函数中定义两个地址最初的值
*min = *max = home[0];

3.不仅返回值,还返回状态——判断除法是否成功

  • 具体分工是:函数返回值返回运算状态,结果由指针完成

  • 返回值一般不在有效范围【有效指什么】内,通常为0或-1

  • 当任何返回值都有效【有效指什么】时,可能要分开返回【分开返回什么】

  • 后续语言,可以通过异常机制解决

#include <stdio.h>
int Judge(int a, int b, int* point);int main()
{int a = 65;int b = 67;int result;if (Judge(a, b, &result)) {printf("可以作除法。\n");printf("%d / %d = %d\n", a, b, result);}return 0;
}int Judge(int a, int b, int* point)
{int ret = 1;if (b == 0) {ret = 0;}else {*point = a / b;}return ret;
}

4.数组、指针与作用域

#include <stdio.h>
void MinMax(int home[], int len);int main()
{int a[10] = { 1,2,3,4,5,6,7,8,9,10 };int i,  j;printf("main sizeof(a) = %d\n", sizeof(a));printf("main sizeof(a[0]) = %d\n", sizeof(a[0]));printf("main a = 0x%x\n", a);MinMax(a, sizeof(a) / sizeof(a[0]));printf("main a[2] = %d\n", a[2]);return 0;
}void MinMax(int home[], int len)
{printf("MinMax sizeof(a) = %d\n", sizeof(home));printf("main sizeof(a[0]) = %d\n", sizeof(home[0]));printf("MinMax a =0x%x\n", home);home[2] = 8;printf("MinMax a[2] = 0x%d\n", home[2]);
}

结果:

【c语言跟练】翁恺-跟学笔记-课堂练习相关推荐

  1. C语言程序设计A重点,【艾学笔记】复习重点之C语言程序设计

    原标题:[艾学笔记]复习重点之C语言程序设计 hello,大家好,欢迎来到小艾学习小组,想想暑假快到了,马上就要迎接期末考试了,大家对本学期新学的c语言程序设计有没有把握呢?面对充满逻辑数字的c语言, ...

  2. java语言程序设计教程翁恺第二版课后答案_《JAVA语言程序设计教程(第2版)/翁恺 肖少拥》翁恺,肖少拥著【摘要 书评 在线阅读】-苏宁易购图书...

    第1章  Java语言概述 1.1  Java的历史 1.2  Java程序运行环境与特点 1.2.1  跨平台(Cross Platform)/可移植性(Portablc) 1.2.2  运行效率 ...

  3. C语言基础:翁恺笔记

    英尺英寸换算米案例: #include <stdio.h>int main() {int inch=0,foot=0;printf("请输入身高的英尺和英寸\n");s ...

  4. 【中国大学慕课浙江大学【C语言课程】-翁恺教授】学习心得

    1.1计算机和编程语言 1.计算机是how to do ,人是what to do 2.一个程序读取我写的程序,将其编译 3.解释语言(python)vs编译语言© 4.C语言是全世界最流行的语言之一 ...

  5. 浙大c语言在线编辑,(翁恺)C语言程序设计-浙江大学

    浙江大学求是计算机和中加班的C课程. 程序设计是一门基础课程.对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯:对于非计算机专业而言,程序设计的学习有助于理解计算机 ...

  6. 程序设计入门-C语言基础知识-翁恺-第六周:数组-详细笔记(六)

    目录 第六章:数组 6-1 数组 6-2 数组计算 6.3 课后习题 第六章:数组 6-1 数组 题目:让用户输入一组整数以-1结束输入,算出这组数的平均值,并且输出大于平均值的数. 我们需要记录用户 ...

  7. UTC转换BJT时间 时间转换 c语言程序设计 mooc 翁恺

    题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千 ...

  8. c语言程序设计 cap 翁恺,GPS数据处理 翁恺老师C语言程序设计CAP第10章编程题

    NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Elect ...

  9. 翁恺c语言视频作业题,翁恺入门C语言第2周编程练习

    题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千 ...

最新文章

  1. Microsoft.NET框架程序设计--20 CLR寄宿、应用程序域、反射
  2. 海康sdk返回yv12
  3. 安装service_identity失败总结
  4. HDU5812 Distance(枚举 + 分解因子)
  5. python打开方式错误_浅谈python 调用open()打开文件时路径出错的原因
  6. 第十三节:Lambda、linq、SQL的相爱相杀(2)
  7. python注销代码_django用户注册、登录、注销和用户扩展的示例
  8. 腾讯云linux vnc端口,用腾讯云手把手教你用VNC搭建Ubuntu可视化界面(一)
  9. android开发比例图表,Android开发中如何使用绘制图表
  10. 单片机用C语言锯齿波,试用c语言编写一个能输出锯齿波信号的单片机c51程序
  11. 如何在Excel 2007中创建数据透视表
  12. SAP PP制造生产教程
  13. Java架构师成长路线总结2021版(持续更新)
  14. 搭建阿里云服务器内有阿里云幸运券
  15. VS2013使用VS2015工程
  16. 一年成为博客专家? 致!奋斗的自己
  17. 一个屌丝程序猿的人生(一百零八)
  18. int和字符串的类型转换
  19. K_A02_005 基于单片机驱动数码管 LED 按键模块(TM1638) 流水灯 0-7 按键值显示
  20. 初学STM32之看门狗

热门文章

  1. CSS渲染原理,优化策略
  2. 【图像检测-边缘检测】基于遗传算法的边缘检测算法研究附matlab代码
  3. 【文件操作(IO)】File类的属性,常见方法,文件内容的读写操作
  4. 计算机u盘有声音没反应,U盘有声音不显示怎么办解决方法
  5. 【C语言培训1】关于C语言学习的开始和过往
  6. 张飞比关羽还能打?一位酷爱三国的日本程序员,用NLP分析了武将们的战斗力
  7. (选专业)你适合读地质学类专业吗?mbti性格测试
  8. Python中 if 语句及其使用
  9. 计算机视觉基础-图像处理之图像分割/二值化
  10. NovelAI:AI作画二次元、续写故事,画师要失业?