https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502
计算机18秋-函数
统计个位数字
#include <stdio.h> int Count_Digit ( const int N, const int D ); int main() { int N, D; scanf("%d %d", &N, &D); printf("%d\n", Count_Digit(N, D)); return 0; } int Count_Digit ( const int N, const int D ) { int x,count=0,y; x=N; if(x<0) { x=-x; } do{ y=x%10; if(y==D) { count++; } x=x/10; }while(x>0); return count; }
思路
(1)如果输入数n是负数则将其化为正数
(2)用n/10,得出每一位数y
(3)若果y=d则d出现次数加一
流程图
调试
一次成功。。。。。。。。。。。。
计算机18秋-数组1
7-3 最高分、最低分、平均分
#include<stdio.h> int main() { int a[6],i,max,min,sum=0; for(i=0;i<6;i++) { scanf("%d",&a[i]); } for(i=0;i<6;i++) { if(i==0) { min=a[0]; max=a[0]; } if(a[i]>max) { max=a[i]; } if(a[i]<min) { min=a[i]; } sum=sum+a[i]; } printf("max:%d\n",max); printf("min:%d\n",min); printf("avg:%d",sum/6); return 0; }
解题思路
(1)输入6个数
(2)把第一个数赋给max,min
(3)之后的数与max,min比较,如果大于max,把值赋给max,如果小于min把值赋给min
(4)求6个数求和sum,avg=sum/6
流程图
错误截图
if判断中等于要写==,如果写=,会显示运行超时
调试
计算机18秋-数组2
7-4 选择法排序
#include <stdio.h> int main() { int i, j, min, temp, a[10]; for(i = 0; i < 10; i++) { scanf("%d",&a[i]); } for(i = 0; i < 3;i++) { min=i; for(j = i+1; j <10; j++) { if(a[min] > a[j]) { min=j; } } temp=a[i]; a[i]=a[min]; a[min]=temp; } for(i = 0; i < 10; i++) printf("%5d",a[i]); return 0; }
解题思路
(1)定义变量 i,n,读入n个数 temp 临时变量
(2)定义1个数组a,它有10个整型元素
(3)利用for(i = 0; i < 3;i++)进行趟数控制
(4)利用for(j = i+1; j <10; j++)起始交换位置
(5)利用temp=a[i];
a[i]=a[min];
a[min]=temp;进行交换;
(6)输出最后结果
流程图
错误截图
调试
在for(i = 0; i <= 3;i++)这个位置上趟数的控制应该是<3,而不是<=3,将问题纠正以后,5和6交换了位置。
总结
1)这几周我学习了有关函数,数组的知识。
以及为什么要使用数组,怎么去定义数组,
我还学到了引用数组元素,并且知道了二维数组的元素在内存中(按行存放)即在内存中线顺序存放第一行的元素。
(2)我觉得在何时使用数组这个地方是个难点。在课下我看了很多的视频来学习
互评
https://www.cnblogs.com/wangtiezhu666/p/10127789.html
https://www.cnblogs.com/hanjiale/p/10151736.html
https://www.cnblogs.com/promise-781465023/p/10133773.html
周数 | 本周行数代码*100 | 本周代码时间 | 博客字数*100 | 博客时间 |
13 | 45 | 26 | 0 | 0 |
14 | 42 | 21 | 0 | 0 |
15 | 40 | 30 | 0 | 0 |
16 | 56 | 21 | 11 |
50 |