第二次作业
作业要求【https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503】
二
1)函数中的判断奇偶性
源代码:
#include <stdio.h> int even( int n ); int main() { int n; scanf("%d", &n); if (even(n)) printf("%d is even.\n", n); else printf("%d is odd.\n", n); return 0; } int even( int n ) { if(n%2==0) { return 1; }else { return 0; } }
解题思路:
1:定义函数
2:输入n
3:判断奇偶性
4:输出n
流程图:
本题调试过程碰到问题及解决办法
本题在编译过程没有遇到错误。
2)数组1中的交换最小值和最大值
源代码:
#include <stdio.h> main() { int n,i,a[10],c,d,min,max,j; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } min=max=a[0]; for(i=0;i<n;i++) { if(a[i]<=min) { min=a[i]; j=i; } } c=a[0]; a[0]=min; a[j]=c; for(i=0;i<n;i++) { if(a[i]>=max) { max=a[i]; j=i; } } d=max; a[j]=a[n-1]; a[n-1]=d; for(i=0;i<n;i++) printf("%d ",a[i]); }
2.解题思路
第一步:输入n,定义数组a[n],并赋值。
第二步:利用for循环找出数组中的最小值并与a[0]的值进行交换。
第三步:同上找出最大值并于a[n-1]进行值的交换。
第四步:通过for循环输出数组a[n]中的所有值。
流程图:
本题调试过程碰到问题及解决办法:
本题不太会,是借助同学帮助下完成的。
3)数组2中的查找整数
源代码:
#include<stdio.h> #define N 20 int main(void) { long a[N]; int i, n, x; scanf("%d%d", &n, &x); for(i = 0; i < n; ++i) scanf("%ld", &a[i]); for(i = 0; i < n; ++i) { if(a[i] == x) { printf("%d\n", i); break; } } if(i >= n) printf("Not Found\n"); return 0; }
解题思路;
第一步:定义数组a[N] N 20 定义i,n,x
第二步:for循环找出定义的x
第三步:输出x
流程图:
遇到的问题与调试过程:
本题相对于另外三个题是简单的,所以没有出现错误
学习内容与收获
内容:这几周主要学习了数组的引用以及冒泡排序和选择排序等,还有数组有整形数组,元素数组以及浮点型数组
收获:更明白了如何用数组去解决一些题,可以有更方便的方法去解决一些繁杂的题。
难点:我刚开始接触数组时,对数组有点不太理解,导致后来的冒泡排序,选择排序也是一知半解
解决办法:向学习好的人去请教这方面的知识,并且自己看看教材,在MOCC网上观看一些与数组有关的课程
互评:
我评论了梁德辉的博客https://www.cnblogs.com/wsaldh/p/10127051.html
我评论了王文琪的博客https://www.cnblogs.com/qqovo/p/10134759.html
我评论了佟雨轩的博客https://www.cnblogs.com/blogdizhiming/p/10147257.html