欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

第2次作业

发布时间:2025/7/25 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 第2次作业 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

 

一、作业要求链接

https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502

二:

函数作业中题目:6-3数字金字塔

1、实验代码:

#include <stdio.h>void pyramid( int n );int main() { int n;scanf("%d", &n);pyramid(n);return 0; }void pyramid( int n ) { int i,j,k,m;m = n; for(i=1;i<=n;i++,m--) { j=m; for(j=m-1;j>0;j--) printf(" "); for(k=i;k>0;k--) printf("%d ", i); printf("\n"); }}

2、解题思路

(1)文字描述

第一步:定义i,j,k,m。

第二步:建立一个for循环,确保输出的数字和输出的格式。

第三步:输出结果。

(2)流程图

3、本题调试过程碰到问题及解决办法

(1)错误提示截图

(2)设置断点单步调试

(3)问题及解决办法

是因为粗心大意没能发现多加了一个分号,设置断点单步调试之后发现了问题,去掉之后便可以成功运行了。

数组1中题目:7-1交换最小值和最大值

1:实验代码:

#include<stdio.h> int main(){ int b,c,i,n,x,m; scanf("%d",&n); int a[n]; for(i=0;i<n;i++)scanf("%d",&a[i]); b=a[0]; c=a[0]; for(i=1;i<n;i++){if(a[i]<c){c=a[i];x=i;} } if(x!=0){m=a[0];a[0]=a[x];a[x]=m;} for(i=1;i<n;i++){if(a[i]>b){b=a[i];x=i;} } if(x!=n-1){m=a[n-1];a[n-1]=a[x];a[x]=m; } for(i=0;i<n;i++) printf("%d ",a[i]); return 0; }

2:解题思路:

(1)文字描述

第一步:定义变量及数组a[n]
第二步:利用for循环输入所有的数组值,假设第一个数组值为最小的,利用for循环将所有的数组与第一个数比较,找到数组中的最小值,进行交换,重复操作
第三步:若最大值以及最小值不是最大或最小,那再次进行循环
第四步:利用for循环输出所有的数组。

(2)流程图

  3、本题调试过程碰到问题及解决办法

(1)错误提示截图

 

 

 (2)设置断点单步调试

 

 

(3)问题及解决办法

没有编译错误,提示部分正确,用DevC++输入不同的数组运行结果有对有错。后来经人指点发现是x后面没加!导致的错误,加上之后运行结果就对了。

数组2作业中题目:7-3求整数序列中出现次数最多的数

1:实验代码

#include <stdio.h> #define MAX 1000 int main(){int arr[MAX], count[MAX];int N, i, j;int maxCount, maxPos;scanf("%d", &N);for(i=0; i<N; i++){ scanf("%d", &arr[i]);}for(i=0; i<N; i++){ count[i] = 0;}for(i=0; i<N; i++){for(j=0; j<=i; j++){if(arr[j]==arr[i]){count[i]++;}}}for(i=0; i<N; i++){ if(i==0){maxCount = count[0];maxPos = 0;}else{if(count[i]>maxCount){maxCount = count[i];maxPos = i;}}

2:解题思路:

(1)文字描述

第一步:定义出所需的变量及数组
第二步:利用for循环输入所有的数组值
第三步:再利用for的双层循环找出相等的数组,同时实现个数的累加
第四步:如果满足条件;就同时进行下标的转换
第五步:利用for循环排除所有的这种情况
第六步:最后输出整数序列中出现次数最多的数

(2)流程图

  3、本题调试过程碰到问题及解决办法

(1)错误提示截图

(2)设置断点单步调试

(3)问题及解决办法

因为粗心将MAX写成了max,导致了一堆编译错误。因为很显眼,所以马上就找到改正过来了。

三:个人总结

1、收获:这几周学习了有关数组与函数的一些基本知识和解题的必要步骤,并且巩固了循环方面的知识,代码量有显著的提升,解题的速度也更加快了。

2、难点及解决办法:如何把一个数值插入数组是我经常遇到的问题,而且经常会马虎导致编译错误甚至结果错误。我觉得还是要多加练习才会更熟练,马虎的问题还要多多注意。

四:互评和学习进度

1、互评:

初可欣同学的第2次作业

袁于纯同学的第2次作业

张学健同学的第2次作业

 

2、学习进度:

(1)表格

(2)折线图

 

转载于:https://www.cnblogs.com/yanhuixin/p/10158447.html

总结

以上是生活随笔为你收集整理的第2次作业的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。