作业智慧树

结满作业设计丰硕成果

c语言程序设计主观作业

  《C语言程序设计主观作业》
  一、作业目的
  本次作业旨在巩固和加深学生对C语言程序设计的基本概念、语法规则、算法设计与实现方法的理解,提高学生的编程能力、问题解决能力和创新意识。通过本次作业,希望学生能够熟练运用C语言解决实际问题,为后续课程的学习打下坚实基础。
  二、作业内容

基础题(共30分)

  (1)编写一个C程序,实现以下功能:
  输入:一个整数n(1≤n≤1000)
  输出:输出n的阶乘(n!)
  要求:使用循环结构实现。
  (2)编写一个C程序,实现以下功能:
  输入:一个字符串str(长度不超过100)
  输出:输出字符串str中字母的个数。
  要求:不使用库函数。
  (3)编写一个C程序,实现以下功能:
  输入:一个整数数组arr(长度不超过100)
  输出:输出数组arr中的最大值和最小值。
  要求:不使用库函数。

提高题(共40分)

  (1)编写一个C程序,实现以下功能:
  输入:一个整数n(1≤n≤1000)
  输出:输出n的阶乘(n!)的每一位数字。
  要求:使用递归函数实现。
  (2)编写一个C程序,实现以下功能:
  输入:一个字符串str(长度不超过100)
  输出:输出字符串str中所有单词的长度。
  要求:单词之间以空格分隔,不使用库函数。
  (3)编写一个C程序,实现以下功能:
  输入:一个整数数组arr(长度不超过100)
  输出:输出数组arr中所有奇数的平均值。
  要求:不使用库函数。

创新题(共30分)

  (1)编写一个C程序,实现以下功能:
  输入:一个整数n(1≤n≤1000)
  输出:输出n的阶乘(n!)的每一位数字,并以倒序排列。
  要求:使用递归函数实现。
  (2)编写一个C程序,实现以下功能:
  输入:一个字符串str(长度不超过100)
  输出:输出字符串str中所有单词的长度,并按长度从大到小排序。
  要求:单词之间以空格分隔,不使用库函数。
  (3)编写一个C程序,实现以下功能:
  输入:一个整数数组arr(长度不超过100)
  输出:输出数组arr中所有奇数的平均值,并输出所有奇数的和。
  要求:不使用库函数。
  三、作业要求

  每位同学独立完成作业,不得抄袭他人成果。

  作业格式要求:


  (1)每个程序单独编写在一个文件中,文件名以“学号_姓名_题目编号”命名,如“123456_张三_1.c”。
  (2)程序代码注释清晰,命名规范,具有良好的可读性。
  (3)每个程序文件开头包含以下信息:
/*
* 学号:123456
* 姓名:张三
* 题目编号:1
* 提交日期:2022年10月1日
*/


作业提交方式:

  (1)将所有程序文件打包成一个压缩文件,文件名为“学号_姓名.zip”。
  (2)将压缩文件发送至课程邮箱,邮件主题为“C语言程序设计主观作业_学号_姓名”。
  四、作业评分标准

基础题:每题10分,共30分。

  (1)程序正确性:5分
  (2)代码可读性:3分
  (3)注释完整性:2分

提高题:每题15分,共40分。

  (1)程序正确性:10分
  (2)代码可读性:4分
  (3)注释完整性:1分

创新题:每题10分,共30分。

  (1)程序正确性:7分
  (2)代码可读性:2分
  (3)创新性:1分
  五、作业反馈

  作业提交后,教师将对作业进行批改,并在一周内给出评分及反馈意见。

  学生需根据反馈意见进行修改,以提高编程能力。

  作业成绩将计入课程总评成绩,请同学们认真对待。


  六、作业示例
  以下为部分题目的示例代码,仅供参考。

基础题(1)

#include <stdio.h>

int main() {
int n, i, factorial = 1;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
factorial *= i;
}
printf("%d ", factorial);
return 0;
}


提高题(1)

#include <stdio.h>

int factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n - 1);
}

int main() {
int n, i, temp;
scanf("%d", &n);
temp = factorial(n);
while (temp > 0) {
printf("%d", temp % 10);
temp /= 10;
}
printf(" ");
return 0;
}


创新题(1)

#include <stdio.h>

int factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n - 1);
}

int main() {
int n, i, temp;
scanf("%d", &n);
temp = factorial(n);
while (temp > 0) {
printf("%d", temp % 10);
temp /= 10;
}
printf(" ");
return 0;
}

Copyright Your WebSite.Some Rights Reserved.