6-1 计算两数的和与差

1.设计思路

(1)主要描述题目算法

第一步:把两个数的加减法分别赋给psum和pdiff。

第二步:通过psum和pdiff的地址把值传回主函数。

(2)流程图.(无)

2.实验代码

void sum_diff( float op1, float op2, float *psum, float *pdiff )
{
*psum = op1+op2;
*pdiff = op1-op2;
}

3.本题调试过程碰到问题及解决办法

无错误.

6-2 拆分实数的整数与小数部分

1.设计思路

(1)主要描述题目算法

第一步:通过强制转换类型把x定义成整数获得整数部分。

第二步:再把原来的x减去整数部分得到小数部分。

第三步:通过地址把值传回主函数。

(2)流程图(无)

2.实验代码

void splitfloat( float x, int *intpart, float *fracpart)
{
*intpart=(int)x;
*fracpart=x-*intpart;
}

3.本题调试过程碰到问题及解决办法

无问题.

6-3 在数组中查找指定元素

1.设计思路

(1)主要描述题目算法

第一步:先把-1赋值给t作初值。

第二步:用for循环语句和if语句找出对应数最小下标,赋值给t。

第三步:返回t。

(2)流程图



2.实验代码

int search( int list[], int n, int x )
{
int j=0,t=-1;
for(j=0;j<n;j++)
{
if(list[j]==x)
{
t=j;
break;
}
}
return t;
}

3.本题调试过程碰到问题及解决办法

错误原因:if语句中把x赋值给list[j]中。

改正方法:在if语句中多加一个等号。

6-4找最大值及其下标

1.设计思路

(1)主要描述题目算法

第一步:用for循环和if从句判断出最大值赋值给t。

第二步:利用指针把最小下标传给主函数。

第三步:返回t值。

(2)流程图



2.实验代码

int fun(int *a,int *b,int n)
{
int j=0,t=a[j];
for(j=0;j<10;j++)
{
if(a[j-1]<a[j])
{
t=a[j];
*b=j;
}
}
return t;
}

3.本题调试过程碰到问题及解决办法

(无).

6-最小数放前最大数放后

1.设计思路

(1)主要描述题目算法

第一步:利用for循环向数组输入数值。

第二步:利用for循环找出最大值最小值再进行交换。

第三步:根据格式输出数组。

(2)流程图







2.实验代码

void input(int *arr,int n)
{
int i=0,k=0;
for(i=0;i<n;i++)
{ scanf("%d",*(arr+k));
k++;
}
}
void max_min(int *arr,int n)
{
int i,t=0,o=0,c,b;
for(i=1;i<n;i++)
{
if(*(arr+i)<*(arr+o))
{
o=i;
} }
for(i=1;i<n;i++)
{
if(*(arr+i)>*(arr+t))
{
t=i;
}
}
c=*arr;
*arr=*(arr+o);
*(arr+o)=c;
b=*(arr+n-1);
*(arr+n-1)=*(arr+t);
*(arr+t)=b;
}
void output(int *arr,int n)
{
int i;
for(i=0;i<n;i++)
printf("%3d",*(arr++)); }

3.本题调试过程碰到问题及解决办法

错误原因:输出的时候格式错误。

改正方法:输出时前面加上3d调整格式。

6-指针选择法排序

1.设计思路

(1)主要描述题目算法

第一步:定义j,i,t的初值为零。

第二步:用镶嵌for循环比大小调换数值。

(2)流程图



2.实验代码

void sort(int *x,int n)
{
int i=0,j=0,t=0;
for(j=0;j<n-1;j++)
{
for(i=j;i<n;i++)
{
if(*(x+i)>*(x+j))
{
t=*(x+i);
*(x+i)=*(x+j);
*(x+j)=t;
}
}
}
}

3.本题调试过程碰到问题及解决办法

(无)

6-1 判断回文字符串

1.设计思路

(1)主要描述题目算法

第一步:用strlen求出符号长度n。

第二步:for循环从左往右找两个符号不同 ,然后结束循环。

第三步:利用for做标记,返回t值。

(2)流程图



2.实验代码

bool palindrome( char *s )
{
int i,j,t;
int n=strlen(s);
for(i=0,j=n-1;i<j;i++,j--)
{
if(s[i]!=s[j])
{
break;
}
} if(i>=j)
{
t=true;
}
else
{
t=false;
}
return t;
}

3.本题调试过程碰到问题及解决办法

错误原因:for循环的条件一开始出现错误。

改正方法:用编程软件调试改正。

6-2 使用函数实现字符串部分复制

1.设计思路

(1)主要描述题目算法

第一步:算出符号长度,if长度不够设为空串。

第二步:够长度,从第七个符号用for循环开始替换。

(2)流程图



2.实验代码

void strmcpy( char *t, int m, char *s )
{
int i,n,j;
for(n=0;;n++)
{
if(t[n]=='\0')
{
break;
}
}
if(m>n)
{
*s=NULL;
}
else
{
for(i=m-1,j=0;i<=n-1;i++)
{
s[j]=t[i];
j++;
}
s[j]='\0';
}
}

3.本题调试过程碰到问题及解决办法

错误原因:复制过去的字符答案不对。

改正方法:在字符里加上一个结束符。

1总结两周里所学的知识点有哪些学会了?哪些还没有学会?

我们这周学习了指针,数组和字符指针,指针一开始还还可以,后来字符指针就有点不太懂,不过通过做题慢慢的就理解了。

2、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址。请注意git地址应是类似

https://git.coding.net/yangzhiqun/cfsafa.git

点评3个同学的本周作业(在作业中给出被点评同学博客的链接),并邀请3名同学点评你的作业,无点评作业(你的作业未被3人点评)/或者没有回复同学或老师的点评都倒扣该题分数。

尧舜禹http://www.cnblogs.com/yaoshunyux/p/8641466.html

徐铭博http://www.cnblogs.com/xmb1547828350/p/8597402.html

于耀淞http://www.cnblogs.com/jsjyys/p/8589997.html

4、请用表格和折线图呈现你本周(3/12 8:00~3/26 8:00)的代码行数和时间、博客字数和时间(3分)。

2018c语言第1次作业的更多相关文章

  1. 2018C语言第三次作业

    要求一 2.struct sk{int a; char *str)}*p;   p->str++ 中的++ 加向? ++加向srt的地址. 要求二 题目1-计算平均成绩 1.设计思路 (1)主要 ...

  2. 2018c语言第3次作业

    6-1 输出月份英文名 1.设计思路 (1)主要描述题目算法 第一步:先定义一个指针数组. 第二步:根据for循环判断月份并返还月份字数. 2.实验代码 int getindex( char *s ) ...

  3. 2018c语言第2次作业

    1 删除字符串中数字字符 1.设计思路 (1)主要描述题目算法 第一步:先用for循环比较每个数是否符合删除条件. 第二步:如果符合就把这个数利用交换把这个数提前一位. 2.实验代码 void del ...

  4. 关于C语言的问卷调查(作业三)

    1.你对自己的未来有什么规划?做了哪些准备? 答:我对我未来的规划就是希望能够学有所用,将来可以从事有关IT方面的,跟自己的专业对口.为此现在我需要多看一些和这个专业有关的书籍,自学一些知识,多些一些 ...

  5. 网络1711班 C语言第四次作业批改总结

    网络1711班 C语言第四次作业批改总结 助教有话说(写在前面) 近来,有同学跟老师和助教们反映:博客作业太多太麻烦,而且对编程能力提高似乎没什么帮助?在这里我要谈一谈我的感想. 博客作业的意义? 首 ...

  6. 网络1711班 C语言第七次作业批改总结

    网络1711班 C语言第七次作业批改总结 1.本次作业评分细则 1.1 基本要求(1分) 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 泛泛而谈(最多七分) 1 ...

  7. 网络1711班 C语言第八次作业批改总结

    网络1711班 C语言第七次作业批改总结 最近在忙一些琐事,没能及时批改大家的作业,连续两次作业总结也没有很用心写,在这要给大家say sorry. 1.本次作业评分细则 1.1 基本要求(1分) 按 ...

  8. C语言程序设计第二次作业--顺序结构

    C语言程序设计第二次作业--顺序结构 1.输出带框文字:在屏幕上输出以下3行信息. ************* Welcome ************* 源程序 #include <stido ...

  9. 跨语言调用Hangfire定时作业服务

    跨语言调用Hangfire定时作业服务 背景 Hangfire允许您以非常简单但可靠的方式执行后台定时任务的工作.内置对任务的可视化操作.非常方便. 但令人遗憾的是普遍都是业务代码和hagnfire服 ...

随机推荐

  1. Win Form不能响应键盘事件

    在窗体属性中,将KeyPreview设置为true

  2. CodeForces 940E

    题意略. 这个题目我开始题意理解得有点问题.本题的实质是在这个数列中选择一些数字,使得选出的这些数字之和最大,用dp来解. 我们先要明确:当我选择数列长度为2 * c时,不如把这个长度为2 * c的劈 ...

  3. WPF自学入门(四)WPF路由事件之自定义路由事件

    在上一遍博文中写到了内置路由事件,其实除了内置的路由事件,我们也可以进行自定义路由事件.接下来我们一起来看一下WPF中的自定义路由事件怎么进行创建吧. 创建自定义路由事件分为3个步骤: 1.声明并注册 ...

  4. [Luogu3345][ZJOI2015]幻想乡战略游戏

    Luogu 题意: 动态维护带权重心. sol 这是一道写起来很舒服的动态点分治.(不像某些毒瘤题) 我们考虑,如果你选择的补给点不是当前的带权重心,那么带权重心就在补给点的一个子树中(你把补给点当做 ...

  5. Heavy Transportation POJ - 1797

    题意 给你n个点,1为起点,n为终点,要求所有1到n所有路径中每条路径上最小值的最最值. 思路 不想打最短路 跑一边最大生成树,再扫一遍1到n的路径,取最小值即可,类似Frogger POJ - 22 ...

  6. [BZOJ1014] [JSOI2008] 火星人prefix (splay & 二分答案)

    Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 ...

  7. iOS逆向工程,(狗神)沙梓社大咖免费技术分享。

    序言 简介:本文针对于广大iOS开发者,作为一名开发者,仅仅专注于一门语言可能已经不适用现在的市场需求,曾经因高薪和需求量巨大,而火爆一时的移动端开发者(Android,ios),如今的路却是不再那么 ...

  8. 【Spring源码分析】原型Bean实例化过程、byName与byType及FactoryBean获取Bean源码实现

    原型Bean加载过程 之前的文章,分析了非懒加载的单例Bean整个加载过程,除了非懒加载的单例Bean之外,Spring中还有一种Bean就是原型(Prototype)的Bean,看一下定义方式: & ...

  9. htop命令使用详解

    一.htop 简介 htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses.与Linux传统的top相比,htop更加人性化.它可让用户 ...

  10. 设计模式——策略模式(C++实现)

    程序优化是用于消除程序中大量的if else这种判断语句 #include <iostream> #include <string> using namespace std; ...