第五章总结及代码

1.

代码

#include<stdio.h>
#include<math.h>
int main()
{
    int n = 13, year;
    double number, rate = 0.02;
    for (year = 1; year <= 10; year++)
    {
        number = n * pow((1 + rate), year);
        printf("%2d年后,人数为:%.2f亿\n", year, number);
    }
    return 0;
}

截图

 2.

代码

#include<math.h>
int main()
{
    double sum, item, flag, denominator;
    sum = 0; item = 1; flag = 1; denominator = 1;
    while (fabs(item) >= 1e-6)
    {
        sum = sum + item;
        flag = -flag;
        denominator = denominator + 3;
        item = flag / denominator;
    }
    printf("sum=%f\n", sum);
    return 0;
}

截图

1.for语句的基本用法

for语句的一般形式为:

for(表达式1;表达式2;表达式3)

                循环体语句

3.

代码

#include<stdio.h>
int main()
{
    int i, n, sum;
    scanf_s("%d", &n);
    sum = 0;
    for (i = 1; i <= n; i++)
        sum = sum + i;
    printf("由1到%d的和是:%d\n", n, sum);
    return 0;
}

截图

4.

代码

#include<stdio.h>
int main(void)
{
    int i, n;
    double factorial;
    printf("输入n的值:");
    scanf_s("%d", &n);
    factorial = 1;
    for (i = 1; i <= n; i++)
        factorial = factorial * i;
    printf("%d!=%.0f\n", n, factorial);
    return 0;
}

截图

2.for语句的一般形式中省略表达式1

格式为

               for(;表达式2;表达式3)

                                循环体语句;

3.for语句的一般形式中省略表达式2

格式为:

                for(表达式1;;表达式3)

                               循环体语句:

4.for语句的一般形式中省略表达式3

格式为:

                for(表达式1;表达式2;)

                                循环语句:

5.for语句的一般形式中表达式1和表达式3也可以是逗号表达式

6.for语句的一般形式中表达式2的值只要非0,就执行循环体

7.for语句的一般形式中循环体语句可以省略

5.

代码

#include<stdio.h>
int main()
{
    int n, i, denominator, flag;
    float sum, item;
    printf("输入n的值:");
    scanf_s("%d", &n);
    flag = 1;
    denominator = 1;
    sum = 0;
    for (i = 1; i <= n; i++)
    {
        item = flag * 1.0 / denominator;
        sum = sum + item;
        flag = -flag;
        denominator = denominator + 3;
    }
    printf("Sum=%.2f\n", sum);
    return 0;
}

截图

6.

代码

#include<stdio.h>
int main()
{
    int i;
    float x, max;
    printf("请输入第1个数:");
    scanf_s("%f", &x);
    max = x;
    for (i = 1; i <= 9; i++)
    {
        printf("请输入第%d个数:", i + 1);
        scanf_s("%f", &x);
        if (x > max)
            max = x;
    }
    printf("10个数的最大值是:%.0f", max);
    return 0;
}

截图

7.

代码

#include<stdio.h>
int main()
{
    int i;
    float x, max;
    for (i = 1; i <= 10; i++)
    {
        printf("请输入第%d个数:", i);
        scanf_s("%f", &x);
        if (i == 1)
            max = x;
        else
            if (x > max)
                max = x;
    }
    printf("十个数中最大值是:%.0f", max);
    return 0;
}

截图

8.

代码

#include<stdio.h>
int main()
{
    int number, a, b, c;
    for (number = 100; number <= 999; number++)
    {
        a = number / 100;
        b = number % 100 / 10;
        c = number % 10;
        if (number == a * a * a + b * b * b + c * c * c)
            printf("%5d", number);
    }
}

截图

9.

代码

#include<stdio.h>
int main()
{
    int number, sum, i;
    printf("请输入一个正整数:");
    scanf_s("%d", &number);
    sum = 0;
    for (i = 1; i <= number - 1; i++)
        if (number % i == 0)
            sum = sum + 1;
    if (number == sum)
        printf("%d是完数\n", number);
    else
        printf("%d不是完数\n", number);
    return 0;
}

截图

10.

代码

#include<stdio.h>
int main()
{
    int upper, lower, digit, i, other;
    char ch;
    upper = lower = digit = other = 0;
    printf("输入10个字符:");
    for (i = 1; i <= 10; i++)
    {
        ch = getchar();
        if (ch >= 'a' && ch <= 'z')
            lower++;
        else if (ch >= 'A' && ch <= 'Z')
            upper++;
        else if (ch >= '0' && ch <= '9')
            digit++;
        else
            other++;
    }
    printf("小写字母%d个,大写字母%d个,数字%d个,其他字符%d个\n", lower, upper, digit, other);
    return 0;
}

截图

11.

代码

#include<stdio.h>
int main()
{
    int i;
    char ch;
    for (i = 1; (ch = getchar()) != '\n'; i++)
        putchar(ch - 32);
    return 0;
}

截图

12.

代码

#include<stdio.h>
int main()
{
    int i;
    char ch;
    for (; (ch = getchar()) != '\n'; )
        putchar(ch - 32);
    return 0;
}

截图

13 .

代码

#include<stdio.h>
int main()
{
    int n = 0, i;
    char ch;
    printf("输入3个数字:");
    for (i = 1; i <= 3; i++)
    {
        scanf_s("%c", &ch);
        n = n * 10 + ch - '0';
    }
    printf("%d\n", n);
    return 0;
}

截图

14.

代码

#include<stdio.h>
int main(void)
{
    int i, flag, number;
    printf("请输入一个正整数:");
    scanf_s("%d", &number);
    flag = 1;
    for (i = 2; i <= number - 1 && flag; i++)
    {
        if (number % i == 0)
            flag = 0;
        if (flag)
            printf("%d是素数\n", number);
        else
            printf("%d不是素数\n", number);
        return 0;
    }
}

截图

5.3    while语句的基本用法

while语句在使用时,总是先判断一个条件,所以可以用while语句实现“当型”循环。while的一般形式如下:

while(表达式)

        循环体

15.

代码

#include<stdio.h>
int main()
{
    int i, sum;
    i = 1, sum = 0;
    while (i <= 100)
    {
        sum = sum + i;
        i = i + 1;
    }
    printf("sum=%d", sum);
    return 0;
}

截图

16.

代码

#include<stdio.h>
int main()
{
    int i;
    long n, fact;
    i = 2, fact = 1;
    printf("请输入n的值:");
    scanf_s("%ld", &n);
    while (i <= n)
    {
        fact = fact * i;
        i = i + 1;
    }
    printf("%ld!=%ld\n", n, fact);
    return 0;
}

截图

17.

代码

#include<stdio.h>
int main()
{
    int digit, letter, other;
    char ch;
    digit = letter = other = 0;
    printf("请输入一个字符:");
    while ((ch = getchar()) != '\n')
    {
        if ((ch >= '0') && (ch <= '9'))
            digit++;
        else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
            letter++;
        else
            other++;
    }
    printf("数学%d个,字母%d个,其他%d个\n", digit, letter, other);
    return 0;
}

截图

5.4  

do-while语句在使用时,首先执行循环体语句,然后再判断条件

一般形式为

do

        循环体

while(表达式);

18.

代码

#include<stdio.h>
int main()
{
    int i, sum;
    i = 1, sum = 0;
    do
    {
        sum = sum + i;
        i = i + 1;
    } while (i <= 100);
    printf("sum=%d\n", sum);
    return 0;
}

截图

19.

代码

#include<stdio.h>
int main()
{
    int a, b, r, n, m;
    printf("请输入两个整数:");
    scanf_s("%d%d", &a, &b);
    m = a, n = b;
    do
    {
        r = a % b;
        a = b;
        b = r;
    } while (r != 0);
    printf("%d和%d的最大公约数是:%d\n", m, n, a);
    printf("最小公倍数是:%d", m * n / a);
    return 0;
}

截图

20.

代码

#include<stdio.h>
int main()
{
    long n, m;
    int count = 0;
    printf("请输入一个整数:");
    scanf_s("%ld", &n);
    m = n;
    if (n < 0)n = -n;
    do
    {
        n = n / 10;
        count++;
    } while (n != 0);
    printf("整数%ld有%d位数\n", m, count);
    return 0;
}

截图

5.5.1 

break语句

满足条件便跳出循环

一般形式为

                         break;

21.

代码

#include<stdio.h>
int main()
{
    int i = 5;
    do
    {
        if (i % 3 == 1)
            if (i % 5 == 2)
            {
                printf("%d", i);
                break;
            }
        i++;
    } while (i != 0);
    return 0;
}

截图

22.

代码

#include<stdio.h>
#include<math.h>
int main()
{
    int n, m, i;
    printf("请输入一个正整数:");
    scanf_s("%d", &n);
    m = sqrt(n);
    for (i = 2; i <= m; i++)
{
            if (n % i == 0)
            break;
 }
 
        if (i > m)
            printf("%d是素数!\n", n);
        else
            printf("%d不是素数!\n", n);
        return 0;
}

截图

23.

代码

#include<stdio.h>
int main()
{
    int num, n;
    float scote, total = 0;
    num = 0, n = 0;
    while (1)
    {
        printf("请输入分数#%d(0~100):", n + 1);
        scanf_s("%f", &scote);
        if (scote < 0)
            break;
        if (scote < 60)
            num++;
        total = total + scote;
        n++;
    }
    printf("平均分数是:%.2f.\n", total / n);
    printf("不及格的有:%d.\n", num);
    return 0;
}

截图

5.5.2

continue语句

continue语句的作用是跳过循环体中continue后面的语句,继续下一次循环。continue语句只能用在循环语句中,常和if语句使用

continue语句的一般形式为

                                                continue

24.

代码.

#include<stdio.h>
int main()
{
    int i, n = 1;
    for (i = 1; i <= 100; i++)
    {
        if (i % 7 != 0)
            continue;
        printf("%4d", i);
        if (n++ % 5 == 0)printf("\n");
    }
    return 0;
}

截图

25.

代码

#include<stdio.h>
int main()
{
    int n, s = 0;
    n = 1;
    while (n < 10)
    {
        s = s + n;
        if (s > 5)
            break;
        if (n % 2 == 1)
            continue;
        n++;
    }
    printf("s=%d,n=%d\n", s , n);
    return 0;
}

截图

5.5.3

goto语句

goto语句的一般形式为

goto  语句标号;

语句标号是一个有效的标识符,使用时在语句标号的后面跟一个“:”出现在函数中某语句的前面。程序执行到goto语句时,会控制跳转到该语句标号处达到控制循环的目的。

26.

代码

#include<stdio.h>
int main()
{
    int i, sum;
    i = 1, sum = 0;
    loop: if (i <= 100)
{
    sum = sum + i;
    i = i + 1;
    goto loop;
}
    printf("sum=%d\n", sum);
    return 0;

}

截图

 27.

代码

#include<stdio.h>
int main()
{
    int i, j;
    double factorial, s = 0;
    for (i = 1; i <= 10; i++)
    {
        factorial = 1;
        for (j = 1; j <= i; j++)
        {
            factorial = factorial * j;
        }
        s = s + factorial;
    }
    printf("1!+2!+3!+...+10!=%.0f\n", s);
    return 0;
}

截图

28.

代码

#include<stdio.h>
int main()
{
    int i, j;
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j <= 1; j++)
            printf("%d*%d=%d\t", j, i, j * i);
    }
    return 0;
}

截图

29.

代码

#include<stdio.h>
#include<math.h>
int main()
{
    int i, n, k, count = 0;
    n = 2;
    while (n < 100)
    {
        k = sqrt(n);
        for (i = 2; i <= k; i++)
            if (n % i == 0)
                break;
        if (i > k)
        {
            printf("%4d", n);
            if (++count % 10 == 0)
                printf("\n");
        }
        n++;
    }
    return 0;
}

截图

30.

代码

#include<stdio.h>
int main()
{
    int i, n, m;
    for (m = 10; m <= 20; m++)
    {
        n = m, i = 2;
        printf("%d=", n);
        do
        {
            if (n % i == 0)
            {
                printf("%d*", i);
                n = n / i;
            }
            else
                i++;
        } while (n != i);
        printf("%d\n", n);
    }
    return 0;
}

截图

 31.

代码

#include<stdio.h>
int main()
{
    int day, d1, d2;
    day = 9;
    d2 = 1;
    do
    {
        d1 = (d2 + 1) * 2;
        d2 = d1;
        --day;
    } while (day > 0);
    printf("第一天摘了%d\n", d1);
    return 0;
}

截图

32.

代码

#include<stdio.h>
#include<math.h>
#define eps 1e-6
int main()
{
    int n = 1;
    float x;
    double fz, fm = 1, sinx;
    printf("输入x的值:");
    scanf_s("%f", &x);
    fz = x; sinx = x;
    do
    {
        n = n + 1;
        fz = -fz * x * x;
        fm = fm * (2 * n - 2) * (2 * n - 1);
        sinx = sinx + fz / fm;
    }
    while (fabs(fz / fm) > eps);
    printf("sin(%f)=%0.6f\n", x, sinx);
    printf("sin(%f)=%0.6f\n", x, sin(x));
    return 0;
}

截图

33.

代码

#include<stdio.h>
#include<math.h>
#define eps 1e-6
int main()
{
    float x1, x0, f, f1;
    x1 = 1.0;
    do
    {
        x0 = x1;
        f = ((2 * x0 - 4) * x0 + 3) * x0 - 6;
        f1 = (6 * x0 - 8) * x0 + 3;
        x1 = x0 - f / f1;
    } while (fabs(x1 + -x0) > eps);
    printf("%6.2f", x1);
    return 0;
}

截图

34.

代码

#include<stdio.h>
int main()
{
    int men, women, child;
    for (men = 0; men <= 9; men++)
        for (women = 0; women <= 12; women++)
        {
            child = 36 - men - women;
            if (men * 4 + women * 3 + child * 0.5 == 36)
                printf("男:%d女:%d小孩:%d\n", men, women, child);
        }
    return 0;
}

截图

35.

代码

#include<stdio.h>
int main()
{
    int i, j, k, n = 0;
    for (i = 1; i < 5; i++)
        for (j = 1; j < 5; j++)
            for (k = 1; k < 5; k++)
                if (i != k && 1 != j && j != k)
                {
                    printf("%d%d%d\t", i, j, k);
                    if (++n % 5 == 0)
                        printf("\n");
                }
    printf("\n共有:%d\n", n);
    return 0;
}

截图

36.

代码

#include<stdio.h>
int main()
{
    int i, j;
    for (i = 1; i < 5; i++)
    {
        for (j = 1; j <= 20 - i; j++)
            printf("");
        for (j = 1; j <= 2 * i - 1; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

截图

37.

代码

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int m, n, count = 0;
    m = rand()% (80 - 10 + 1) + 10;
    printf("请输入一个10~80之间的整数:");
    while(1)
    {
        scanf_s("%d", &n);
        count++;
        if (m == n)
        {
            printf("恭喜!你猜对了,你真棒!\n");
            break;
        }
        else if (m > n && count < 5)
            printf("对不起!你猜小了!再来一次!");
        else if (m < n && count < 5)
            printf("对不起!你猜大了!再来一次!");
        if (count == 5)
        {
            printf("对不起!你没有机会了!\n这个数是%d,游戏结束!\n", m);
            break;
        }
    }
    return 0;
}

截图

38.

代码

#include<stdio.h>
#include<math.h>
int main()
{
    int x, i, j = 0, n, k = 0;
    for (x = 100; x < 1000; x++)
    {
        k = sqrt(x);
        for (i = 2; i <= k; i++)
            if (x % i == 0)
                break;
        if (i > k)
        {
            k = x;
            n = 0;
            while (k > 0)
            {
                n = n * 10 + k % 10;
                k /= 10;
            }
            if (x == n)
            {
                printf("%d\t", x);
                if (++j % 5 == 0)printf("\n");
            }
        }

    }
    return 0;
}

截图

39.

代码

#include<stdio.h>
int main()
{
    int x, t;
    printf("i\tpower\n");
    for (x = 100; x < 1000; x++)
    {
        t = x * x;
        while (t != 0)
        {
            if (x == t % 1000)
            {
                printf("%d\t%d\n", x, x * x);
                break;
            }
            else
                t = t / 10;
        }
    }
    return 0;
}

截图

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.版本:matlab2014/2019a,内含运结果,不会运可私信 2.领域:智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,更多内容可点击博主头像 3.内容:标题所示,对于介绍可点击主页搜索博客 4.适合人群:本科,硕士等教研学习使用 5.博客介绍:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可si信 ### 团队长期从事下列领域算法的研究和改进: ### 1 智能优化算法及应用 **1.1 改进智能优化算法方面(单目标和多目标)** **1.2 生产调度方面** 1.2.1 装配线调度研究 1.2.2 车间调度研究 1.2.3 生产线平衡研究 1.2.4 水库梯度调度研究 **1.3 路径规划方面** 1.3.1 旅商问题研究(TSP、TSPTW) 1.3.2 各类车辆路径规划问题研究(vrp、VRPTW、CVRP) 1.3.3 机器人路径规划问题研究 1.3.4 无人机三维路径规划问题研究 1.3.5 多式联运问题研究 1.3.6 无人机结合车辆路径配送 **1.4 三维装箱求解** **1.5 物流选址研究** 1.5.1 背包问题 1.5.2 物流选址 1.5.4 货位优化 ##### 1.6 电力系统优化研究 1.6.1 微电网优化 1.6.2 配电网系统优化 1.6.3 配电网重构 1.6.4 有序充电 1.6.5 储能双层优化调度 1.6.6 储能优化配置 ### 2 神经网络回归预测、时序预测、分类清单 **2.1 bp预测和分类** **2.2 lssvm预测和分类** **2.3 svm预测和分类** **2.4 cnn预测和分类** ##### 2.5 ELM预测和分类 ##### 2.6 KELM预测和分类 **2.7 ELMAN预测和分类** ##### 2.8 LSTM预测和分类 **2.9 RBF预测和分类** ##### 2.10 DBN预测和分类 ##### 2.11 FNN预测 ##### 2.12 DELM预测和分类 ##### 2.13 BIlstm预测和分类 ##### 2.14 宽度学习预测和分类 ##### 2.15 模糊小波神经网络预测和分类 ##### 2.16 GRU预测和分类 ### 3 图像处理算法 **3.1 图像识别** 3.1.1 车牌、交通标志识别(新能源、国内外、复杂环境下车牌) 3.1.2 发票、身份证、银卡识别 3.1.3 人脸类别和表情识别 3.1.4 打靶识别 3.1.5 字符识别(字母、数字、手写体、汉字、验证码) 3.1.6 病灶识别 3.1.7 花朵、药材、水果蔬菜识别 3.1.8 指纹、手势、虹膜识别 3.1.9 路面状态和裂缝识别 3.1.10 为识别 3.1.11 万用表和表盘识别 3.1.12 人民币识别 3.1.13 答题卡识别 **3.2 图像分割** **3.3 图像检测** 3.3.1 显著性检测 3.3.2 缺陷检测 3.3.3 疲劳检测 3.3.4 病害检测 3.3.5 火灾检测 3.3.6 人检测 3.3.7 水果分级 **3.4 图像隐藏** **3.5 图像去噪** **3.6 图像融合** **3.7 图像配准** **3.8 图像增强** **3.9 图像压缩** ##### 3.10 图像重建 ### 4 信号处理算法 **4.1 信号识别** **4.2 信号检测** **4.3 信号嵌入和提取** **4.4 信号去噪** ##### 4.5 故障诊断 ##### 4.6 脑电信号 ##### 4.7 心电信号 ##### 4.8 肌电信号 ### 5 元胞自动机仿真 **5.1 模拟交通流** **5.2 模拟人群疏散** **5.3 模拟病毒扩散** **5.4 模拟晶体生长** ### 6 无线传感器网络 ##### 6.1 无线传感器定位 ##### 6.2 无线传感器覆盖优化 ##### 6.3 室内定位 ##### 6.4 无线传感器通信及优化 ##### 6.5 无人机通信中继优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值