2018上C语言程序设计(高级)作业-第1次作业
一.6-1 计算两数的和与差
1.设计思路:
1)认真读题,弄清题目已知信息;
2)理清思路,整理组织答案;
3)输出提交;
4)流程图如下:
2.实验代码如下:
viod sum_diff(float op1,float op2,float *pusm,float *pdiff) { *pusm=op1+op2; *pdiff=op1-op2; }
3.本题调试过程碰到问题及解决办法
主函数定义多加了“;”,当时为了方便是在题目中的接口定义中粘贴过来的,没留意后面多加了个分号。
6-2拆分实数的整数与小数部分
1.设计思路:
1)认真读题,弄清题目已知信息;
2)理清思路,整理组织答案;
3)输出提交;
4)流程图如下:
2.实验代码如下:
int search( int list[], int n, int x ) { int i; for(i=0;i<n;i++) { if(list[i]==x) return i; } return -1; }
3.本题调试过程碰到问题及解决办法:
无
二.6-1在数组中查找指定元素
1.设计思路:
2.实验代码如下:
int search( int list[], int n, int x ) { int i; for(i=0;i<n;i++) { if(list[i]==x) { return i; } } return -1; }
3.本题调试过程碰到问题及其解决方法
无
6-2.找最大值及其坐标
1.流程图如下:
2.实验代码如下:
int fun(int *a,int *b,int n) { int i; int max=a[0]; for(i=0;i<n;i++) { if(max<a[i]) { max=a[i]; *b=i; } } return max; }
3.本题调试过程碰到问题及其解决方法
三.6-1最小数放前最大数放后
1.设计思路:
2.实验代码如下:
void input(int *arr,int n) { int i; for(i=0;i<n;i++) { scanf("%d",&arr[i]); } } void max_min(int *arr,int n) { int i,max,m1,min,m2,t; max=arr[0],m1=0,min=arr[0],m2=0; for(i=0;i<n;i++) { if(max<arr[i]) { max=arr[i]; m1=i; } if(min>arr[i]) { min=arr[i]; m2=i; } } t=arr[m1];arr[m1]=arr[n-1];arr[n-1]=t; t=arr[m2];arr[m2]=arr[0];arr[0]=t; } void output(int *arr,int n) { int i; for(i=0;i<n;i++) { printf("%3d",arr[i]); } }
3.本题调试过程碰到的问题及其解决方法
6-2指针选择法排序
1)设计思路:
2)实验代码如下:
void sort(int *x,int n) { int max,m,i,j,t; for(i=0;i<n-1;i++) { max=x[i],m=i; for(j=i+1;j<n;j++) { if(max<x[j]) { max=x[j]; m=j; } } t=x[m];x[m]=x[i];x[i]=t; } }
3)本题调试过程碰到的问题及其解决方法
四、6-1判断回文字符串
1.思路方法:
1)
2)流程图如下:
不会
2.实验代码如下:
bool palindrome( char *s ) { int i,n,k,j; n=strlen(s); i=0,j=n-1; for(i=0,j=n-1;i<j;i++,j--) { if(s[i]!=s[j]) { break; } } if(i<j) return false; else return true; }
3.本题调试过程碰到的问题及其解决方法
很多
6-2 使用函数实现字符串部分复制
1.设计思路:
2.流程图:不会弄
3.实验代码如下:
void strmcpy( char *t, int m, char *s ){ int i,j,n; strcpy(s, t); n = strlen(s); for(i=m-1;i>0;i--){ for(j=i;j<n;j++){ s[j-1]=s[j]; } } s[n-m+1]='\0'; }
五、知识总结:
流程图画的不太好,可能会有错误,后面还有几道流程图不会弄。PTA对我来说是很难的一门科目,第一学期就是勉强过关,第二学期得加把劲了。
六、图表
日期 | 博客 | 代码 |
3.11 | 第0次作业 | 0 |
3.16 | 0 | 0 |
3.17 | 0 | 0 |
3.18 | 0 | 0 |
3.19 | 0 | 0 |
3.20 | 0 | 0 |
3.21 | 0 | 0 |
3.22 | 0 | 0 |
3.23 | 0 | 0 |
3.24 | 0 | 0 |
3.25 | 第一次作业 | 0 |