C语言练题集
嵌入式学徒@
要有锚!
展开
-
C语言面试题纠错集
第1题void Func(char str_arg[100]){ printf("%d\n", sizeof(str_arg));}int main(void){ char str[] = "Hello"; printf("%d\n", sizeof(str)); printf("%d\n", strlen(str)); char*p = str; printf("%d\n", sizeof(p)); Func(str);}输出的是:6原创 2021-11-23 11:02:34 · 673 阅读 · 0 评论 -
一个字符的读入技巧
当我们要循环读入一个字符和一个整型时程序如下:#include <stdio.h>int main() { char ch; int n; while(~scanf("%c%d",&ch,&n)){ printf("ch = %c n = %d\n",ch,n); } return 0;}看结果:可以看出,有乱码的现象我们知道:%c功能比较强大,几乎任何符号都可以输入,我们在输入字符与整型的时候,用的是分隔符(空格)来隔原创 2021-11-17 11:32:38 · 837 阅读 · 0 评论 -
欧拉计划-05:求多个数的最小公倍数
题目:2520是最小的能够被1到10整除的数。最小的能够被1到20整除的正数是多少?方法1:遍历1~20 找出每个数的因数且从中去除之前记录下的因数(类似于素数筛,暂时先留着)方法2:暴力解法:求a1,a2,…,an的最小共倍数,先求(a1,a2)的最小公倍数a12,再求(a12,a3)的最小公倍数a123,依次递推下去注意数据的溢出代码如下:定义了一个中间最小公倍数#include <stdio.h>int gcd (int a, int b) { return (b ? g原创 2021-11-12 11:32:53 · 482 阅读 · 0 评论 -
欧拉计划—45th
题目:代码如下:#include <stdio.h>//三个递推公式 //因为n 的取值范围大于了 int n 最大值,故采用lllong long Triangle(long long n){ return n * (n + 1) / 2;} long long Pentagonal(long long n) { return n * (3 * n - 1) / 2;}long long Hexagonal(long long n) { return n *原创 2021-11-11 13:41:00 · 149 阅读 · 0 评论