耿国华课本代码完整版可运行

一,绪 论

 P10例1.2求n个数的最大值问题

#include <stdio.h>

int main() {
    int n;
    printf("请输入数字的个数:");
    scanf("%d", &n);

    float max = 0;
    for (int i = 1; i <= n; i++) {
        float x;
        printf("请输入第 %d 个数字:", i);
        scanf("%f", &x);
        if (x > max)
            max = x;
    }

    printf("最大值为:%f\n", max);

    return 0;
}

P13 例1.3求两个 n 阶矩阵的乘积 C = AxB 。

#include <stdio.h>  //3*3矩阵
  
#define n 3  
/* n 可根据需要定义,这里假定为 100 */  
  
void MatrixMulti(int a[n][n], int b[n][n], int c[n][n]) {  
    for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            c[i][j] = 0;  
            for (int k = 0; k < n; k++) {  
                c[i][j] += a[i][k] * b[k][j];  
            }  
        }  
    }  
}  
  
int main() {  
    int a[n][n], b[n][n], c[n][n];  
    int success = 1; // 用于标记输入是否成功的变量  
  
    // 输入矩阵a的值  
    printf("请输入矩阵a的值(%dx%d):\n", n, n);  
    for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            if (scanf("%d", &a[i][j]) != 1) {  
                printf("输入错误,请输入整数。\n");  
                success = 0;  
                while (getchar() != '\n'); // 清除输入缓冲区  
                break; // 如果输入错误,跳出当前循环  
            }  
        }  
        if (!success) break; // 如果输入错误,跳出外层循环  
    }  
    if (!success) return 1; // 如果输入错误,返回非零值并退出程序  
  
    // 输入矩阵b的值  
    printf("请输入矩阵b的值(%dx%d):\n", n, n);  
    success = 1; // 重置success标志,用于矩阵b的输入  
    for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            if (scanf("%d", &b[i][j]) != 1) {  
                printf("输入错误,请输入整数。\n");  
                success = 0;  
                while (getchar() != '\n'); // 清除输入缓冲区  
                break;  
            }  
        }  
        if (!success) break;  
    }  
    if (!success) return 1;  
  
    MatrixMulti(a, b, c);  
  
    // 输出矩阵c的值  
    printf("矩阵c的值为(%dx%d):\n", n, n);  
    for (int i = 0; i < n; i++) {  
        for (int j = 0; j < n; j++) {  
            printf("%d ", c[i][j]);  
        }  
        printf("\n");  
    }  
  
    return 0;  
}

P14 例1.5线性阶

#include <stdio.h>  
  
#define n 100  
  
int main() {  
    int i;  
    int x = 0; // 初始化x为0  
  
    for(i = 1; i <= n; i++) {  
        x = x + 1;  
    }  
  
    // 输出x的值  
    printf("x的值为:%d\n", x);  
  
    return 0;  
}
//结果:100

P15 例1.6 平方阶

#include <stdio.h>  
  
int main() {  
    int n = 10; // 假设 n 的值为 10,您可以根据需要修改这个值  
    int y = 0;  
    int x = 0;
    // 嵌套循环,y 会被递增 n * n 次  
    for (int i = 1; i <= n; i++) {  
        for (int j = 1; j <= n; j++) {  
            y++;  
        }  
    }  
    for(int k=1;k<=n;k++)
    x++;
  
    // 打印结果  
    printf("y 的值为:%d\n", y); // 这将打印 n 的平方,因为循环执行了 n * n 次  
  	printf("x 的值为:%d\n", x);
    return 0;  
}//结果:y=100   x=10

P15  例1.7等差数列问题

等差数列Sn =n*(a1+an)/2;

#include <stdio.h>  
  
int main() {  
    int n = 10; // 假设 n 的值为 10,您可以根据需要修改这个值  
    int x = 1;  
  
    // 嵌套循环  
    for (int i = 1; i <= n; i++) {    
        for (int j = 1; j <= i; j++) {    
            x = x + 1;  
        }    
    }    
  
    // 打印结果  
    printf("x 的值为:%d\n", x); // 打印最终 x 的值  
  
    return 0;  
}//结果:56

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陇院第一Sweet Baby

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值