《C语言程序设计作业4》
一、作业目的
本次作业旨在巩固学生对C语言程序设计的基本概念、语法规则、数据结构、函数调用、指针操作等知识的理解和应用,提高学生的编程能力和问题解决能力。
二、作业内容
基础题(必做)
(1)编写一个C程序,实现以下功能:
输入一个整数n(n≥2),输出一个n行n列的二维杨辉三角。
例如,输入4,输出以下杨辉三角:
1
1 1
1 2 1
1 3 3 1
代码示例:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
// 实现代码
return 0;
}
(2)编写一个C程序,实现以下功能:
输入一个字符串,输出该字符串中所有单词的长度。
例如,输入"Hello, World!",输出:
5 6
代码示例:
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
scanf("%s", str);
// 实现代码
return 0;
}
(3)编写一个C程序,实现以下功能:
输入一个整数数组,输出该数组中所有奇数的平均值。
例如,输入"{1, 2, 3, 4, 5}",输出:
3.0
代码示例:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 实现代码
return 0;
}
提高题(选做)
(1)编写一个C程序,实现以下功能:
输入一个整数n(n≥2),输出一个n行n列的螺旋矩阵。
例如,输入4,输出以下螺旋矩阵:
4 3 2 1
5 6 1 2
6 7 2 3
7 8 3 4
代码示例:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
// 实现代码
return 0;
}
(2)编写一个C程序,实现以下功能:
输入一个整数n(n≥2),输出一个n行n列的魔方矩阵。
例如,输入3,输出以下魔方矩阵:
8 1 6
3 5 7
4 9 2
代码示例:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
// 实现代码
return 0;
}
(3)编写一个C程序,实现以下功能:
输入一个整数n(n≥2),输出一个n行n列的矩阵,矩阵中的元素为该位置到矩阵四个边界的距离之和。
例如,输入3,输出以下矩阵:
4 3 4
3 2 3
4 3 4
代码示例:
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
// 实现代码
return 0;
}
三、作业要求
请在规定时间内完成作业,不得抄袭他人代码。
代码编写规范,注释清晰,便于他人阅读。
作业完成后,将源代码文件(扩展名为.c)提交至指定位置。
若作业中存在疑问,请及时与老师沟通,切勿擅自修改题目要求。
四、作业评分标准
基础题:每题20分,共60分。
提高题:每题20分,共60分。
代码规范、注释清晰:10分。
作业提交及时:10分。
总分:150分。
五、作业解析
基础题解析:
(1)杨辉三角:通过二维数组实现,每个元素等于上一行的左右两个元素之和。
(2)单词长度:通过字符串处理函数实现,遍历字符串,遇到空格或标点符号时输出当前单词长度。
(3)奇数平均值:通过数组遍历实现,计算所有奇数的和,再除以奇数的个数。
提高题解析:
(1)螺旋矩阵:通过循环实现,按照右、下、左、上的顺序填充矩阵。
(2)魔方矩阵:通过特定算法实现,如Siamese方法。
(3)距离之和矩阵:通过嵌套循环实现,计算每个元素到四个边界的距离之和。
六、作业反馈
作业提交后,老师将对作业进行批改,给出评分和反馈意见。
学生可根据反馈意见进行改进,提高编程能力。
作业成绩将计入课程总评成绩,请同学们认真对待。
祝同学们学习进步!