精华内容
下载资源
问答
  • C语言编程100例精选源码

    热门讨论 2009-10-29 01:31:44
    共分为8篇,包括基础篇、数值计算与数据结构篇、文本屏幕与文件操作篇、病毒与安全篇、图形篇、系统篇、游戏篇、综合篇,基本涵盖了目前C语言编程的各个方面。  全部以实例为线索展开讲解,注重对实例的分析、对...
  • C语言编程要点

    2017-09-18 00:10:37
    7.8. 把一个值加到一个指针上意味着什么? 115 7.9. NULL总是被定义为0吗? 115 7.10. NULL总是等于0吗? 115 7.11. 用指针作if语句的条件表达式意味著什么? 116 7.12. 两个指针可以相加吗?为什么? 117 7.13. 怎样使用...
  • 60万到100万之间时,高于60万元的部分,可提成1.5%,高于  100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型...
  • c语言递归求1+2+...加到100的和

    千次阅读 2018-02-13 17:50:19
    那么高斯同学的1+2+3+...+100如何用递归求解呢?下面给出递归算法求高斯同学的5050:#include <stdio.h> int add(int n) { if (n < 1) return 0; return n + add(n - 1); } int main(void)...

    有些函数式编程语言是没有循环的,如Lisp。那么高斯同学的1+2+3+...+100如何用递归求解呢?

    下面给出递归算法求高斯同学的5050:

    #include <stdio.h>
    
    int add(int n)
    {
        if (n < 1)
            return 0;
        return n + add(n - 1);
    }
    
    int main(void)
    {
        printf("%d\n", add(100));
        return 0;
    }


    尾递归:

    #include <stdio.h>
    
    int add(int n, int result)
    {
        if (n < 1)
            return result;
        return add(n - 1, result + n);
    }
    
    int main(void)
    {
        printf("%d\n", add(100, 0));
        return 0;
    }
    

    高斯同学说一行代码更简单:

    result = ((n + 1) * n) / 2;

    所以还是高斯同学赢了23333!

    展开全文
  • P3 支持第二功能:RXD、TXD、INT0、INT1、T0、T1 单片机内部 I/O 部件:(所为学习单片机,实际上就是编程控制以下 I/O 部件,完成指定任务) 1. 四个 8 位通用 I/O 端口,对应引脚 P0、P1、P2 和 P3; 2. 两个 16 位...
  • 认为“100加到1比1加到100”快的人,往往是基于这样一个事实:jnz指令要明显快于cmp之后再jne但是,这里有一个问题:编译器是否真的会把循环中的“不等于零”用nz指令来替换?这里以C语言为实验对象。好的,我现在在...

    原标题:编程实现从 1 加到 100 和从 100 加到 1 两个程序,哪个更快?为什么?

    这是一个非常有趣的问题——而且也一直以来都很有争论。

    认为“100加到1比1加到100”快的人,往往是基于这样一个事实:

    jnz指令要明显快于cmp之后再jne

    但是,这里有一个问题:编译器是否真的会把循环中的“不等于零”用nz指令来替换?

    这里以C语言为实验对象。

    好的,我现在在wsl上运行了gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0

    然后,用下面这段程序作为例子。

    int sum;

    int i;

    int main(){

    sum=0;

    for(i=100;i!=0;i--)

    sum+=i;

    return 0;}

    一个很简单的C程序。

    我们用gcc来进行一下汇编。

    gcc -O0 -S 1.c

    好的,我猜不会有多少人愿意看……那就摘一下重点吧。

    比较的地方的汇编如下:

    movl i(%rip), %eax

    testl %eax, %eax

    jne .L3

    而对于“从1加到100”而言,这一段则是

    movl i(%rip), %eax

    cmpl $100, %eax

    jle .L3

    并没有本质的区别。

    为了保险起见,我们把循环中的

    for(i=100;i!=0;i--)

    改成

    for(i=101;--i;)

    于是,对比输出的汇编结果,除了循环体内的减法操作跑到了比较的地方之外,并没有更多的差别。

    那么,如果打开/O1呢…会不会把nz这种东西优化进来

    movl $5050, sum(%rip)

    当我没说…

    于是现在,我们使用msvc试一试。(19.16.27030.1)

    cl /Od /FAs /c /Fonul 1.c

    和刚才类似地,对于一路减下去的做法,汇编里依然多了个cmp指令

    cmp DWORD PTR i, 0

    je SHORT $LN3@main

    而,如果是一路加上来,比较也并不会复杂很多

    cmp DWORD PTR i, 100 ; 00000064H

    jg SHORT $LN3@main

    至于那种非要把--i放到循环条件里的…enmmm…您别说,还真的少了一行汇编…

    我找了半天才看出来差在哪…

    别人是先jmp到循环条件那里检查一下…不知道为啥,到了这里就是一个大循环…

    不过…要执行上千行汇编的事…您给我说这一行jmp…不太好吧…

    好的,看到有人说到了“上古时代”的编译器会有这种特性。

    于是在DOSBOX中运行Turbo C 1.0进行实验。

    TCC -S 1.c

    一如既往,同样的行数,同样的快乐。

    cmp word ptr dgroup:_i,0

    jne @4

    cmp word ptr dgroup:_i,100

    jle @4

    然而,在最后一种“奇葩”方法的测试中,我们终于如愿以偿收获了惊喜。

    dec word ptr dgroup:_i

    jne @4

    在循环体内,确实就像想象的那样,少了一个cmp指令。

    不过先不要急着下结论。我们继续我们的实验。

    这次我们用刚刚下载的icc来测试(Version 19.0.3.203 Build 20190206)

    test eax, eax ;5.15

    je .B1.4 ; Prob 50% ;5.15

    cmp eax, 100 ;5.13

    jg .B1.4 ; Prob 50% ;5.13

    而--i的做法这次…

    我看了好半天…有点没看明白为什么会出现这种智障操作…

    mov DWORD PTR [rbp], eax ;5.14

    mov eax, DWORD PTR [rbp] ;5.14

    mov DWORD PTR [i], eax ;5.14

    mov eax, DWORD PTR [rbp] ;5.14

    不过从结果上来看…它每次循环比另外两种写法要多执行两条语句…

    以后我想做一下其它语言和编译器的测试

    不过就目前的结果来看…

    这名学生完全可以问面试官具体的架构环境编译器参数…

    嗯,如果面试官认为没开优化的编译器都可以…那么…

    “老师,您预习编译原理了吗?”返回搜狐,查看更多

    责任编辑:

    展开全文
  • c语言简单实例(1

    2018-12-08 08:15:24
    简单编程的源代码。 内容:从1加到100; 有多种操作,例如:递归
  • 写在前边的话:写作不易,有帮助你的话麻烦点赞收藏呦。感激不尽!如有错误也请留言指正 点我查看MOOC苏小红C语言程序设计精髓所有编程题 目录 1.绘制金字塔(4分) 2.循环嵌套的应用(4分) 3.利用泰勒...

     写在前边的话:写作不易,有帮助到你的话麻烦点赞收藏呦。感激不尽!如有错误也请留言指正

    点我查看MOOC苏小红C语言程序设计精髓所有编程题

    目录

    1.绘制金字塔(4分)

    2.循环嵌套的应用(4分)

    3.利用泰勒级数计算sinx的值(4分)

    4.计算100~200之间的所有素数之和(4分)

    5.编程实现一个输入指定范围内的整数的函数(4分)

    6.程序改错v2.0(5分)

    7.编程计算a+aa+aaa+…+aa…a(n个a)的值(4分)

    8.搬砖问题(4分)

    9.编程输出某年某月有多少天(考虑到闰年)(5分)


    1.绘制金字塔(4分)

    题目内容:

    要求用户从键盘输入一个大写字母,使用嵌套循环产生像下面这样的金字塔图案:

           A

         ABA

       ABCBA

     ABCDCBA

     

    程序运行结果示例1:

    Please input a capital:

    D

    ____A

    ___ABA

    __ABCBA

    _ABCDCBA

    程序运行结果示例2:

    Please input a capital:

    F

    ______A

    _____ABA

    ____ABCBA

    ___ABCDCBA

    __ABCDEDCBA

    _ABCDEFEDCBA

    (说明:上面运行结果示例中,每行字母前面的下划线"_"代表屏幕上实际输出的是空格,最后一行前面有一个空格,倒数第二行有两个空格,以此类推。)

     

    输入提示信息:"Please input a capital:\n"

    输入格式: "%c"

    输出格式:"%c"

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include "stdio.h"
    
    int main() {
       char ch;
        printf("Please input a capital:\n");
        scanf("%c", &ch);
    
        for (char i = 'A'; i <= ch; ++i) {
            // 打印空格
            for (char j = 'A'; j <= ch-i+'A'; ++j) {
                printf("%c", ' ');
            }
    
            // 打印左侧字母
            for (char k = 'A'; k < i; ++k) {
                printf("%c", k);
            }
    
            // 打印字母ch及右侧字母,
            for (char t = i; t >= 'A'; --t) {
                printf("%c", t);
            }
            printf("%c", '\n');
        }
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 13ms 256kb   2
    用例2通过 1ms 256kb   1
    用例3通过 1ms 256kb   1

    提交答案

    本次得分/总分:4.00/4.00分


    2.循环嵌套的应用(4分)

    题目内容:

    编写程序产生如下输出:

    F

    FE

    FED

    FEDC

    FEDCB

    FEDCBA

     

    输入格式: 

    输出格式:"%c"

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include "stdio.h"
    
    int main() {
        char ch = 'F';
        for (int i = 0; i < 6; i++) {
            for (int j = 0; j <= i; j++) {
                printf("%c", 'F' - j);
            }
            printf("%c", '\n');
        }
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 2ms 256kb   4

    提交答案

    本次得分/总分:4.00/4.00分


    3.利用泰勒级数计算sinx的值(4分)

    题目内容:

    利用泰勒级数计算sinx的值,要求最后一项的绝对值小于 ,并统计出此时累加了多少项。请用“利用前项来计算后项”的方法计算累加项,不要使用pow函数编写程序。程序中所有实数的数据类型都是double类型。

     

    程序的运行结果示例1:

    Input x:

    3

    sin(x)=0.141,count=9

     

     

    程序的运行结果示例2:

     

    Input x:

    10

    sin(x)=-0.544,count=18

     

    输入提示信息:"Input x:\n"

    输入格式: "%lf"

    输出格式:"sin(x)=%.3f,count=%d\n"

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include "stdio.h"
    #include "math.h"
    /**
     * 获取泰勒公式的每一项
     * @param x
     * @param n
     * @return 泰勒公式每一项
     */
    double getItem(double x, int n) {
        double k = 1;
        // 计算n!
        for (int i = 1; i <= n; i++) {
            k *= i;
        }
        return pow(x, n) / k;
    }
    int main() {
        int flag = 1;
        int n = 1;
        double x, val = 0;
        printf("Input x:\n");
        scanf("%lf", &x);
    
        while (1) {
            double item = getItem(x, n);
            if (item < 0.00001) {
                break;
            }
            val += flag*item;
            flag = -flag;
            n+=2;
        }
        printf("sin(x)=%.3f,count=%d\n", val, (n+1)/2);
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 2ms 256kb   2
    用例2通过 19ms 256kb   2

    提交答案

    本次得分/总分:4.00/4.00分


    4.计算100~200之间的所有素数之和(4分)

    题目内容:

    计算100~200之间的所有素数之和,判别一个数是否是素数请用给定的函数实现

    函数原型:int fun(int m);

    说明:

      参  数:m 是要进行判断的数;

      返回值:若数 m 是素数,则返回值为1;否则返回值为0。

     

    输入格式:

    输出格式: "sum=%d\n"

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include "stdio.h"
    #include "math.h"
    /**
     * 判断素数
     * @param m
     * @return 是素数返回1,否则返回0
     */
    int fun(int m){
        for (int i = 2; i <= sqrt(m); ++i) {
            if (m % i == 0) {
                return 0;
            }
        }
        return 1;
    }
    int main() {
        int sum = 0;
        for (int i = 100; i <= 200; ++i) {
            if (fun(i)) {
                sum += i;
            }
        }
        printf("sum=%d\n", sum);
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 2ms 256kb   4

    提交答案

    本次得分/总分:4.00/4.00分


    5.编程实现一个输入指定范围内的整数的函数(4分)

    题目内容:

    编程实现一个输入指定范围内的整数的函数getint,其完整的函数原型为:int getint(int min, int max);,它负责接收用户的输入进行验证,保证接收的一定是一个介于min和max之间([min, max]区间内)的一个整数并最后返回该整数。如果用户输入不合法,则会提示继续输入,直到输入合法时为止。要求编写完整的程序并测试你所写的getint函数。

     

    程序的运行结果示例:

    Please enter min,max:

    3,100

    Please enter an integer [3..100]:

    -2

    Please enter an integer [3..100]:

    0

    Please enter an integer [3..100]:

    116

    Please enter an integer [3..100]:

    58

    The integer you have entered is:58

     

     

    输入提示信息:"Please enter min,max:\n"

                   "Please enter an integer [%d..%d]:\n"

    输入格式:

    输入数据区间的最小值和最大值:"%d,%d"

    输入指定范围内的整数: "%d"

    输出格式:"The integer you have entered is:%d\n"

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include <stdio.h>
    
    /**
     * 获取区间内合法的整数
     * @param min 
     * @param max 
     * @return 
     */
    int getint(int min, int max)
    {
        int n;
        do
        {
            printf("Please enter an integer [%d..%d]:\n", min, max);
            scanf("%d", &n);
        }while(n < min || n > max);
        return n;
    }
    
    int main()
    {
        int min, max;
        printf("Please enter min,max:\n");
        scanf("%d,%d", &min, &max);
        printf("The integer you have entered is:%d\n", getint(min, max));
        return 0;
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 2ms 256kb   2
    用例2通过 2ms 256kb   2

    提交答案

    本次得分/总分:4.00/4.00分


    6.程序改错v2.0(5分)

    题目内容:

    下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。

    #include<stdio.h>
    
    int main() {
        int score;
        char grade;
        printf("Please input score:");
        scanf("%d", &score);
        if (score < 0 || score > 100)
            printf("Input error!\n");
        else if (score >= 90)
            grade = 'A';
        else if (score >= 80)
            grade = 'B';
        else if (score >= 70)
            grade = 'C';
        else if (score >= 60)
            grade = 'D';
        else
            grade = 'E';
        printf("grade:%c\n", grade);
        return 0;
    }

     

    程序运行结果示例1:

    Please input score:

    a↙

    Input error!

    Please input score:

    -12↙

    Input error!

    Please input score:

    230↙

    Input error!

    Please input score:

    92↙

    grade: A

     

    程序运行结果示例2:

    Please input score:

    88↙

    grade: B

     

    程序运行结果示例3:

    Please input score:

    73↙

    grade: C


    程序运行结果示例4:

    Please input score:

    65↙

    grade: D


    程序运行结果示例5:

    Please input score:

    27↙

    grade: E

     

    输入提示信息:"Please input score:\n"

    输入格式: "%d"

    输出格式:

    输入错误时的提示信息:"Input error!\n"

    输出格式:"grade: %c\n" (注意:%c前面有一个空格)

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include<stdio.h>
    
    int main() {
        int score;
        char grade;
        
        printf("Please input score:\n");
        int k = scanf("%d", &score);
        while (k !=1 || !(score >= 0 && score <= 100)) {
            while(getchar()!='\n');
            printf("Input error!\n");
            printf("Please input score:\n");
            k = scanf("%d", &score);
    
        }
    
        if (score >= 90 && score <= 100) {
            grade = 'A';
        } else if (score >= 80 && score < 90) {
            grade = 'B';
        } else if (score >= 70 && score < 80) {
            grade = 'C';
        } else if (score >= 60 && score < 70) {
            grade = 'D';
        } else {
            grade = 'E';
        }
        printf("grade: %c\n", grade);
        return 0;
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 1ms 256kb   1
    用例2通过 2ms 256kb   1
    用例3通过 2ms 256kb   1
    用例4通过 2ms 256kb   1
    用例5通过 2ms 256kb   1

    提交答案

    本次得分/总分:5.00/5.00分


    7.编程计算a+aa+aaa+…+aa…a(n个a)的值(4分)

    题目内容:

    编程计算 a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。

     

    程序运行结果示例:

    Input a,n:

    2,4

    sum=2468

     

    输入提示信息:"Input a,n:\n"

    输入格式:   "%d,%d"(先输入a,后输入n)

    输出格式:  "sum=%ld\n"

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include<stdio.h>
    
    
    int main() {
        int a, n;
        long sum = 0;
        printf("Input a,n:\n");
        scanf("%d,%d", &a, &n);
        int m = a;
        for (int i = 0; i < n ; ++i) {
            sum += m;
            m = m*10+a;
        }
        printf("sum=%ld\n", sum);
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 2ms 256kb   2
    用例2通过 2ms 256kb   1
    用例3通过 2ms 256kb   1

    提交答案

    本次得分/总分:4.00/4.00分


    8.搬砖问题(4分)

    题目内容:

    n块砖( 27<n<=77 ),36人搬,男搬4,女搬3,两个小孩抬一块砖,要求一次搬完,问男人、女人和小孩各需多少人?请用穷举法编程求解,n的值要求从键盘输入。输出结果按照男人数量升序给出(见下面示例3)。

     

    程序的运行结果示例1:

     

    Input n(27<n<=77):

    28↙

    men=0,women=4,children=32

     

    程序的运行结果示例2:

    Input n(27<n<=77):

    36↙

    men=3,women=3,children=30

     

     

    程序的运行结果示例3:

    Input n(27<n<=77):

    60↙

    men=2,women=14,children=20

    men=7,women=7,children=22

    men=12,women=0,children=24

     

    输入提示: "Input n(27<n<=77):\n"

    输入格式: "%d"  

    输出格式:"men=%d,women=%d,children=%d\n"

    为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

    时间限制:500ms内存限制:32000kb

    C

    #include<stdio.h>
    
    
    int main() {
        int n, men, women, children;
        printf("Input n(27<n<=77):\n");
        scanf("%d", &n);
        // 小孩制定是2的倍数个人,所以每次+2
        for (children = 0; children < 39; children+=2) {
            for (men = 0; men <= 20; men++) {
                women = 36 - children - men;
                if(women >=0 && (children/2 + men*4 + women*3) == n){
                    printf("men=%d,women=%d,children=%d\n", men, women, children);
                }
            }
        }
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 2ms 128kb   2
    用例2通过 1ms 256kb   1
    用例3通过 1ms 256kb   1

    提交答案

    本次得分/总分:4.00/4.00分


    9.编程输出某年某月有多少天(考虑到闰年)(5分)

    题目内容:

    从键盘输入一个年份和月份,输出该月有多少天(考虑闰年),用switch语句编程。

     

    程序运行结果示例1:

    Input year,month:

    2015,3

    31 days

     

    程序运行结果示例2:

    Input year,month:

    2015,4

    30 days

     

    程序运行结果示例3:

    Input year,month:

    2016,2

    29 days

     

    程序运行结果示例4:

    Input year,month:

    2014,2

    28 days

     

    程序运行结果示例5:

     

    Input year,month:

    2015,13

    Input error!

    输入提示信息:"Input year,month:\n"

    输入格式:  "%d,%d"

    输出格式:

    输入错误时的提示信息:"Input error!\n"

    输出格式:

              "31 days\n"

              "30 days\n"

              "29 days\n"

              "28 days\n"

     为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。         

    时间限制:500ms内存限制:32000kb

    C

    #include<stdio.h>
    
    
    int main() {
        int year, month;
        // 平年各个月的天数
        int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
        // 闰年各个月的天数
        int b[]={0,31,29,31,30,31,30,31,31,30,31,30,31};
        printf("Input year,month:\n");
        scanf("%d,%d", &year, &month);
        if (month < 1 || month > 12) {
            printf("Input error!\n");
        }else{
            // 闰年
            if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
                printf("%d days\n", b[month]);
            } else{
                printf("%d days\n", a[month]);
            }
        }
    }
    用例测试结果 运行时间 占用内存 提示 得分
    用例1通过 17ms 256kb   1
    用例2通过 2ms 256kb   1
    用例3通过 2ms 256kb   1
    用例4通过 13ms 256kb   1
    用例5通过 2ms 256kb   1

    提交答案

    本次得分/总分:5.00/5.00分

    展开全文
  • 本书精心选取了利用C语言开发的具有代表性的150个编程实例。这些实例包括C语言的基础与提高、图形与多媒体、综合小程序、计算机等级考试上机试题(二级)/(三级)等几方面的内容,基本涵盖了目前C语言开发的主要...
  • 此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。 若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万...

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天

    预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem

    本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课程也将会逐步更新。

    若有想学习的内容可以在评论区留言,根据大家的要求持续更新。点赞过十万就算化成灰我也更新下一篇。(肯定不到,也会更的。)

    有问题也可以在评论区留言,也可以私聊我加我好友共同交流一起进步~

    喜欢内容欢迎关注我、评论、点赞、收藏,这对我很重要,谢谢~


    由于部分粉丝要求想要学python,就更了这个系列,我就算是生产队的驴、化成灰我C语言和python都一周6篇打底。可以关注我加我好友提你们想学的内容哟~

    目录

    《看聊天记录都学不会C语言?太菜了吧》(22)(必懂!题解 1-100 内素数)素数原来是质数!为什么你不早说!——(必懂!题解)求素数

    《看聊天记录都学不会C语言?太菜了吧》(21)(必懂!题解冒泡排序)在现实生活中,打擂台比赛争名次竟用的是冒泡排序?——(必懂!题解)冒泡必懂

    《看聊天记录都学不会C语言?太菜了吧》(20)(必懂!题解指定天数)我能知道2000年后的这个月一共有几天——(必懂!题解)我能知道2000年后的这个月一共有几天

    《看聊天记录都学不会C语言?太菜了吧》(19)巩固开始,数字1、2、3、4能够组成多少个 3 位数的不同的排列——巩固1

    《看聊天记录都学不会C语言?太菜了吧》(18)2分钟搞结构体——结构体

    看聊天记录都学不会C语言?太菜了吧》(17)5分钟搞懂指针与多重指针——指针与多重指针

    《看聊天记录都学不会C语言?太菜了吧》(16)我一直以为校花很漂亮,直到我叫了她一声…——生命空间、命名规则

    《看聊天记录都学不会C语言?太菜了吧》(15)你学了一节课的函数我5分钟搞定了,还很熟——自定义函数传参、返回值

    《看聊天记录都学不会C语言?太菜了吧》(14)这么神奇?我写了20行代码竟然一行就可以搞定?——自定义函数

    《看聊天记录都学不会C语言?太菜了吧》(13)(9*9 乘法表)寻找电脑中的盲盒彩蛋——for 循环与循环嵌套 九九乘法表

    《看聊天记录都学不会C语言?太菜了吧》(12)循环有多容易?你看一眼就怀…——循环

    《看聊天记录都学不会C语言?太菜了吧》(11)2分钟领悟数组——数组

    《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了——逻辑与运算符

    《看聊天记录都学不会C语言?太菜了吧》(9)老公饼真的有老公送?——字符数组

    《看聊天记录都学不会C语言?太菜了吧》(8)牛郎和织女竟有一个孩子?——多条件if

    《看聊天记录都学不会C语言?太菜了吧(7)下一篇文章告诉你牛郎是谁——if逻辑判断

    《看聊天记录都学不会C语言?太菜了吧(6)以前跟我说编程很难的给我站出来——浮点数及变量运算

    《看聊天记录都学不会C语言?太菜了吧(5)打了一把游戏我学会了一个编程知识?——变量输出及占位符

    《看聊天记录都学不会C语言?太菜了吧(4)原来我早就会编程了——变量

    《看聊天记录都学不会C语言?太菜了吧(3)代码都在谈恋爱难道你不知道?——头文件及标点

    《看聊天记录都学不会C语言?太菜了吧(2)我说编程很容易你们不服?——Devc使用及HelloWorld

    《看聊天记录都学不会C语言?太菜了吧(1)我在大佬群里问基础问题没人理?——学习建议


    我的其它教程

    教程点击进去将会有目录

    《看聊天记录都学不会Python到游戏实战?太菜了吧》(1)加载Python神器!亮剑!

    《看聊天记录都学不会C#?太菜了吧》(1)从今天开始我是一个游戏开发者

    你去约个会,你零基础的同学就学完C语言知识点过完了

    【小白进】大佬们学习为什么简单?小白该如何学习?学历不高如何找工作?副业很好赚?了解后少走弯路


    作者简介

    作者名:1_bit

    简介:CSDN博客专家,2020年博客之星TOP5,蓝桥签约作者。15-16年曾在网上直播,带领一批程序小白走上程序员之路。欢迎各位小白加我咨询我相关信息,迷茫的你会找到答案。

    博客地址:https://i1bit.blog.csdn.net


    🐰小C:小媛,上一节内容有点懵吧,我们这一节来做个简单的题目。

    👸小媛:???我可是程序媛!怎么会懵,不过先来个简单的题目让我开开胃吧。 😎

    🐰小C:唔,那我们就来一个开胃菜爽一下吧。

    👸小媛:赶紧,我饿了。

    🐰小C:那就做一个计算 0 到 100 以内的素数计算吧。

    👸小媛:啥?你再说一遍。 😩

    🐰小C:做一个计算 1 到 100 以内的素数计算。

    👸小媛:什么是素数? 😩

    🐰小C:就是一个正整数,只能够被 1 和本身整除,就叫做素数。

    👸小媛:你是不是故意的? 😩

    🐰小C:你说啥?故意啥?

    👸小媛:这不就是质数吗?

    🐰小C:是呀,怎么了?

    👸小媛:我…嗯,没事,你继续。 😂

    🐰小C:那你懂怎么做吗?

    👸小媛:不懂,请教我,谢谢。

    🐰小C:不客气。那我们先来看看怎么样判断一个数是不是素数吧。

    👸小媛:你能不能用“质数”这个词代替素数?

    🐰小C:也行。我先问你,如果我要判断一个数为 100,那么除什么数最大能够整除?

    👸小媛:50 呀。

    🐰小C:为什么?

    👸小媛:因为超过一半肯定不是整除咯,那就是1.几了。

    🐰小C:你明白的话基本上就快要知道素数怎么做了。例如我们想知道 99 是不是素数很简单。

    #include <stdio.h>
    int main()
    {
        int n=99,get=0,i;
     
        for(i=2; i<=n/2; ++i){
            if(n%i==0){
                get=1;
                break;
            }
        }
     
        if (get==0){
        	printf("%d 是素数",n);
    	}else{
    		printf("%d 不是素数",n);
    	}
    }
    

    👸小媛:喂喂喂!你不讲武德啊,怎么突然上那么多代码?

    🐰小C:其实你都会的,你不信你看看?

    👸小媛:我不会,你跟我说。

    🐰小C:其实很简单,我首先创建了一个变量 n 和一个变量 get,n 用来存储你要判断的数,get 为一个标记,记录是否找到其它的除数,懂吧?

    👸小媛:我不傻。 😂

    🐰小C:然后接下来使用一个 for 循环,因为质数要大于 1 的正整数才行,所以 i 从2开始;由于这个 i 是作为除数,所以不能大于判断的数的一半,则条件为 i<=n/2;

    👸小媛:理解。

    🐰小C:继续看 for 循环里面的判断。使用 if 语句判断 n%i==0,此时只要被整除没有余数,则代表肯定有其它的数除判断的数能够整除,这时直接给 get 赋值为 1,那么这个判断质数的数肯定不为质数。

    👸小媛:若为 0 则是没找到自身和 1 之外的数能够整除判断的数,此时就是质数? 😅

    🐰小C:懂了吧?

    👸小媛:原来如此。所以如果是找到 1-100 以内的质数那就是直接在外面 for 循环一个循环变量 i ,然后拿去判断就可以了对吧?这样就可以找到 1-100 之间的质数了?

    🐰小C:是的,你写出来吧、

    👸小媛: 知道怎么写就简单了,代码在下面。

    #include <stdio.h>
    int main()
    {
        int get=0,i,j;
        
     	for(j=2; j<=100; j++){
     		get=0;
    	    
    		for(i=2; i<=j/2; i++){
    	        if(j%i==0){
    	            get=1;
    	            break;
    	        }
    	    }
    	    
    	    if (get==0){
    	    	printf("%d 是素数\n",j);
    		}
        }
    }
    

    🐰小C:解释一下吧。

    👸小媛: 很简单啊,直接用之前的代码改一下就好了。直接在外面加个循环,小于 100 即可,只要把外循环的循环变量 j 当作除数就好了。内层循环的 i 只需要每次循环小于 j 的一半就可以了,因为 j 是被除数;但是在这里要注意每次内循环开始前必须要将 get 变量重新置零,因为每次循环完都要重新记录,最后在内循环后加一个判断就可以了,如果 get 还为 0 肯定那个数是质数,就直接输出就可以了。 😂

    🐰小C:不错,这个开胃菜够简单吧?

    👸小媛:是挺简单的,哈哈哈。

    🐰小C:歇一下,等下大招就来了。

    👸小媛:那就明天再来吧,我缓缓,哈哈哈。 😎

    展开全文
  • c语言经典案例

    2014-10-30 08:06:57
    有利于提高广大爱好c语言编程的人员。 其中包括: 第1章 初识C语言 1 实例001 第一个C语言程序 2 实例002 一个完整的C语言程序 2 实例003 输出名言 3 实例004 用TC 2.0打开文件 4 实例005 计算正方形的周长 5 第2章 ...
  • C语言学习日志6

    2020-05-29 14:01:42
    编程习惯:使用“==”时把常量放左边。 作业1输入年,月,输出这个月多少天 #include<stdio.h> #include<math.h> #include<string.h> #include<stdbool.h> bool get_leap_year(int year) ...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。 4. 当开发一个较复杂而又开发时间短的项目时,用C还是用汇编开发好? 答:对于复杂而开发时间紧的项目时,...
  • 可以看出函数说明与函数定义中的函数头部分相同,但是末尾要分号。程序第12 行为调用max函数,并把x,y中的值传送给max的形参a,b。max函数执行的 结果 (a或b)将返回给变量z。最后由主函数输出z的值。  函数调用...
  • 实训是在学生已经具备了使用C语言编写简单的应用程序的能力,为使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的能力,通过提出算法、指定输入输出来设计一个解决方案。并为参加计算机等级考试...
  • C语言程序设计经典例子

    热门讨论 2009-05-22 20:08:27
    1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 2.程序源代码: #include "stdio.h" #include "conio.h" main() { int i,j,k,n; printf("'water flower'number is:"); for(n=100;n;n++...
  • C语言题集-综合提高(题目)

    千次阅读 2014-12-14 13:44:34
    11-100之间含有7的数 & 2、编程实现对键盘输入的英文名句子进行加密。用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变。 3、模拟n个人参加选举的过程,并...
  • 但由于if (a%3==0)后多加了分号,则if语句此结束,程序将执行I++语句,不论3是否整除a,I都将自动加1。 再如: for (I=0;I;I++); {scanf("%d",&x); printf("%d",x);} 本意是先后输入5个数,每输入一个数后再将它...
  • 在S=“AAAAAA…AAB“(100个A)中查找T=”AAAAAAAAAB”, 简单匹配算法每次都是比较T的结尾,发现字符不同,然后T的下标回溯开始,S的下标也要回溯相同长度后增1,继续比较。如果使用KMP匹配算法,就不必回溯. 对于...
  • 阅读本书,需要读者有C语言、数据结构、操作系统和计算机网络的基础知识。 目录: 封面 -25 扉页 -24 内容简介 -23 序 -22 关于本书作者和贡献者 -20 前言 -18 阅读注意 -16 目录 -12 正文 11章 内核上机指导 1...
  • 本系列笔记只记录python3和C语言的差异之处 not操作符 ‘not’对应于C语言中的逻辑非‘!’,可以嵌套使用,虽然这并没有什么实际意义~~ ...求1加到100的总和 用sys.exit()提前结束程序 在python...
  • socket网络编程

    热门讨论 2010-01-27 13:47:32
    =0){ //高字节指定了次版本号,低字节指定了主版本号,两个字节加到一起,就是你想要的Winsock库的版本号了 printf("套接字初始化失败!"); exit(-1); } //创建套接字 SOCKET serverSocket; if(...
  • ##20165201 结对编程练习_四则运算(第一周) 1、需求分析 实现一个命令行程序,要求: 自动生成指定数量的小学四则运算题目(、减、乘、除) 支持整数 统计正确率 扩展需求: 支持多运算符(比如生成包含100个...
  • 19.2.2 使用C语言创建管道 182 19.2.3 创建管道的简单方法 185 19.2.4 使用管道的自动操作 187 19.2.5 使用半双工管道时的注意事项 188 19.3 命名管道 188 19.3.1 基本概念 188 19.3.2 创建FIFO 188 19.3.3 FIFO操作...
  • 编程新手真言......

    2009-04-02 20:25:15
    用C++开发要学什么程度 20 本书目录安排 21 第二部分 基础:导论 25 第1章 系统 25 1.1 何谓PC 25 1.2 图灵机与冯氏架构 26 1.3计算机能干什么 27 1.4 内存地址 28 1.5 分段和分页以及保护模式 30 1.7 操作系统 31...

空空如也

空空如也

1 2 3 4 5 6
收藏数 101
精华内容 40
关键字:

c语言编程1加到100

c语言 订阅