美文网首页我家丫头的cpp
c语言编程精解及面试攻略-3-4

c语言编程精解及面试攻略-3-4

作者: 李药师_hablee | 来源:发表于2019-04-28 16:08 被阅读0次
  • goto语句并不是结构化编程模式的一部分,这意味着没有goto语句能写出更完美的c程序
  • 迭代计算正弦级数
#include<stdio.h>
#include<math.h>
/*
每一项都与前一项有关
*/

int main()
{
    int n, i, j = 1;
    double x, r, t, sum;
    printf("input number of iterations:");
    scanf_s("%d", &n);
    printf("input the value of angle:");
    scanf_s("%lf", &x);
    //将角度转化为弧度
    r = (x * 3.14159) / 180;
    //用变量t保存级数第1项
    t = r;
    //目前的sum和
    sum = r;
    i = 2;//第二项分母
    //循环计算第2项到第n项
    printf("iteration=1,sum=%lf\n", sum);
    for (j = 2; j <= n; j++)
    {
        int k = i * (i + 1);
        t = (-t) * r * r / (k);//迭代
        sum += t;
        printf("iteration=%d,sum=%lf\n", j, sum);//打印每次的结果
        i += 2;//i要变化
    }

    return 0;
}

第4章 数组

  • 对两个矩阵相乘并显示结果矩阵
//矩阵相乘
#include<stdio.h>
#include<stdlib.h>

int main()
{
    //矩阵最大大小为10,10
    double a[10][10], b[10][10], c[10][10];
    int i, j, k, r1, r2, c1, c2;
    double sum;

    //读入两个矩阵的行数和列数
    printf("\ninput no. of rows, cols of matrix1: ");
    scanf_s("%d %d", &r1, &c1);

    printf("\ninput no. of rows, cols of matrix2: ");
    scanf_s("%d %d", &r2, &c2);

    //检查矩阵相乘的条件
    if (c1!=r2)
    {
        printf("\nMultiplication is not possible");
        exit(0);//终止程序
    }

    //读入matrix1的数据元素
    printf("\ninput elements of matrix1: \n");
    for (i = 0; i < r1; i++)
        for (j = 0; j < c1; j++)
            scanf_s("%lf", &a[i][j]);

    //读入matrix2的数据元素
    printf("\ninput elements of matrix2: \n");
    for (i = 0; i < r2; i++)
        for (j = 0; j < c2; j++)
            scanf_s("%lf", &b[i][j]);

    //矩阵相乘并显示结果
    printf("\nthe product matrix is: \n");
    for (i = 0; i < r1; i++)
    {
        sum = 0.0;
        for (k = 0; k < c2; k++)
        {
            for (j = 0; j < c1; j++)
            {
                sum += a[i][j] * b[j][k];
            }
            c[i][k] = sum;
            printf("%.2lf\t", c[i][k]);
            sum = 0.0;
        }
        printf("\n");
    }

    return 0;
}
捕获.JPG
  • 声明并初始化一个三维数组,之后读取它的数据并显示他们
//初始化并显示一个三维数组
//三维数组是有很多个二维数组
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int i, j, k;
    
    //声明一个三维数组,由3个二维数组组成,每个二维数组容纳3行5列
    int marks[3][3][5] = {
        {
            {11,12,13,14,15},
            {16,17,18,19,20},
            {21,22,23,24,25}
        },
        {
            {26,27,28,29,30},
            {31,32,33,34,35},
            {36,37,38,39,40}
        },
        {
            {41,42,43,44,45},
            {46,47,48,49,50},
            {51,52,53,54,55}
        },
    };

    //读取数组元素并显示他们
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
        {
            for (k = 0; k < 5; k++)
            {
                printf("%d\t", marks[i][j][k]);
            }
            printf("\n");
        }
        printf("\n");
    }

    return 0;
}
捕获.JPG
  • 在C语言中不能用const类型变量来初始化数组大小

相关文章

网友评论

    本文标题:c语言编程精解及面试攻略-3-4

    本文链接:https://www.haomeiwen.com/subject/xyzdnqtx.html