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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?