题目(14周1)7-3 将数组中的数逆序存放
1.实验代码
#include<stdio.h> int main(){ int i,a[10]={0},n; scanf("%d",&n); for(i=0;i<=n-1;i=i+1){ scanf("%d",&a[i]);} for(i=n-1;i>=0;i=i-1){ if(i!=0){ printf("%d ",a[i]);} if(i==0){ printf("%d",a[i]); } } return 0; }
2 设计思路
(1)
第一步:定义所需要的变量i,n和数组a[10]。
第二步:利用循环结构输入n个数。
第三步:再次利用循环体逆顺序判断i是否等于0,如果i不等于输出“%d ”,如果i等于0输出“%d”。
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图
遇到的问题:
因为只编写了i不等于0的输出格式,没有编写i等于0的输出格式,所以输出结果缺少最后一个数组元素。
解决方法:
将i=0这种情况的输出格式编写出来。
题目(14周2)7-4 交换最小值和最大值
1.实验代码
#include<stdio.h> int main () { int i,a[10]={0},n,t,min,max,m; scanf("%d",&n); for(i=0;i<n;i=i+1){ scanf("%d",&a[i]); } int x=a[0]; for(i=0;i<n;i=i+1){ if(a[i]<x){ x=a[i]; min=i; } else{ x=x; min=min; } } if(x!=a[0]){ t=a[0]; a[0]=a[min]; a[min]=t;} int d=a[n-1]; for(i=0;i<n;i=i+1){ if(a[i]>d){ d=a[i]; max=i; } else{ d=d; max=max; } } if(d!=a[n-1]){ m=a[n-1]; a[n-1]=a[max]; a[max]=m;} for(i=0;i<n;i=i+1){ printf("%d ",a[i]); } return 0; }
2 设计思路
(1)
第一步:定义所需变量和数组。
第二步:输出将要输入的数组元素个数n。
第三步:利用循环结构输入数组元素。
第四步:先假设最小值x为a[0],利用循环判断a[i]是否小于x,直到最后找到最小值的下角标min,然后通过t将a[0]和最小值交换数值。
第五步:与最小值相同找到最大值的下角标,然后通过m将a[n-1]和最大值交换数值。
第六步:循环输出数组a[i]。
(2)流程图
3.本题调试过程碰到问题及解决办法
错误提示的截图:
遇到的问题以及解决方法
遇到问题:
没有读清楚题目要,输出结果的时候没有仔细规定什么时候输出什么。
解决方法:
仔细读懂题目后细化了输出时候的条件然后解决问题。
要求三(5经验值)
上传成功后coding.net项目的截图:
git地址:
https://git.coding.net/liuzehua123/lzhjisuanji.git
要求四
个人总结
(1)本周你学习了哪些内容?收获了什么?
本周学习了一维数组和二位数组。
收获到了如何利用循环结构解决一维数组和二维数组问题。
(2)本周所学内容中你觉得哪些是难点?有哪些知识点还不明白?
本周我觉得双层数组是个难点,因为你需要处理好这两层循环之间循环条件的关系。
没有不明白的知识点。
互评和学习进度
1、3个同学的博客的链接:
1、http://www.cnblogs.com/lxT-1234/
2、http://www.cnblogs.com/100200a/
3、http://www.cnblogs.com/z024108/
截图:
2、请用表格和折线图呈现你本周(11/19 13:00~12/4 8:00)的代码行数和时间、博客字数和时间、涉及的知识点: