6-1 拆分实数的整数与小数部分
1.设计思路
(1)第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
(2)流程图
无
~~~ void sum_diff( float op1, float op2, float *psum, float *pdiff ) { *psum=op1+op2; *pdiff=op1-op2; } ~~~
3.本题调试过程碰到问题及解决办法
错误信息1:float类型不能取余
错误原因:float类型不能取余
改正方法:定义一个整型和单精度型的变量,令整型等于整数部分,单精度型等于小数部分
6-2 在数组中查找指定元素
1 设计思路
(1)主要描述题目算法
第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
(2)流程图
无
~~~ int search( int list[], int n, int x ) { int i,a; a=n; for(i=0;i<n;i++) {while(x==list[i]) return i; a--; } if(a==0) return -1; } ~~~
3.本题调试过程碰到问题及解决办法
错误信息1:无
错误原因:无
改正方法:无
3.本题调试过程碰到问题及解决办法
错误信息1:无
错误原因:无
改正方法:无
题目6-3 计算两数的和与差
1.设计思路
(1)第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
(2)流程图
无
2.实验代码
~~~ #include <stdio.h> void sum_diff( float op1, float op2, float *psum, float *pdiff ); int main() { float a, b, sum, diff; scanf("%f %f", &a, &b); sum_diff(a, b, &sum, &diff); printf("The sum is %.2f\nThe diff is %.2f\n", sum, diff); return 0; } void sum_diff( float op1, float op2, float *psum, float *pdiff ) { *psum=op1+op2; *pdiff=op1-op2; } ~~~
题目7-1 数组元素循环右移问题
1.设计思路
(1)第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
(2)流程图
无
2.实验代码
```
``` #include<stdio.h> #define N 100 int main() { int a[N]; int i,j,k,n,m,temp=0; scanf("%d %d",&n,&m); for(i=0;i<n;i++) scanf("%d",&a[i]); for(j=0;j<m;j++) { temp=a[n-1]; for(k=n-1;k>=0;k--) { a[k]=a[k-1]; if(k==0) { a[k]=temp; } } } for(i=0;i<n;i++) { if(i==n-1) printf("%d",a[i]); else printf("%d ",a[i]); } return 0; } ```
3.本题调试过程碰到问题及解决办法
错误信息1:最后一个数组元素仍不变
错误原因:忘记保存数组最后一个元素
改正方法:保存数组最后一个元素