码迷,mamicode.com
首页 > 其他好文 > 详细

第一次作业

时间:2018-03-26 00:52:48      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:9.png   图片   gpo   流程   创建   掌握   复制   交换   若是   

第一题:
代码:
void sum_diff( float op1, float op2, float psum, float pdiff )
{
psum=op1+op2;
pdiff=op1-op2;
return 0;
}

思路:
第一步:使用指针将所求量代入函数
第二步;按题目要求进行运算
第三不:返回主函数
问题:

第二题:
代码:
void splitfloat( float x, int intpart, float fracpart )
{
intpart=(int)x;
fracpart=(float)(x-*intpart);
return 0;
}
思路:
第一步:使用指针将所求量代入函数
第二步:利用int函数将x强制转化,求出整数部分
第三步:用将原数减去整数部分求出小数部分
第四步:返回主函数
问题:

第三题:
代码:
int search( int list[], int n, int x )
{
int i, index;
for(i = 0;i < n;i++ )
{
if(x==*(list+i) )
{index = i;
break;}
else{
index = -1;}
}

return index;
}
思路:
第一步:使用指针将所求量代入函数
第二步:创建for循环,实现查找
第三步:利用if语句将数列中的数与所求数对比,找出结果
第四步:返回主函数输出不同结果
问题:

流程图:
技术分享图片

第四题:
int fun(int a,int b,int n)
{
int i = 0,max = a;
for(i = 0;i < n;i++)
{
if(max<
(a+i))
{
b = i;
max =
(a+i);

}
}
return max;
}
思路:
第一步:使用指针将所求量代入函数
第二步:定义i,将max赋值
第三步:利用for循环,将数列中的数与max比较找出最大值
第四步:将最大值的下标赋值与指针b
第五步:返回主函数:
错误:

流程图:
技术分享图片

第五题:
代码:
void input(int arr,int n)
{
int g;
for(g=0;g<n;g=g+1)
scanf("%d",&
(arr+g));
}
void max_min(int arr,int n)
{
int max,i=0,b;
max=
(arr+i);
for(;i<10;i=i+1)
{
if((arr+i)>(arr+i+1))
{
max=(arr+i);
b=i;
}
}
int min,j=0,c;
min=
(arr+j);
for(;j<10;j=i+1)
{
if((arr+j)<(arr+j+1))
{
min=(arr+j);
c=j;
}
}
int f,g,m=0;
f=
(arr+0);
(arr+0)=(arr+b);
(arr+b)=f;
g=
(arr+n-1);
(arr+n-1)=(arr+c);
(arr+c)=g;
}
void output(int
arr,int n)
{
int h;
for(h=0;h<n;h=h+1)
printf("%d",(arr+h));
}
思路:
void input(int
arr,int n)
第一步:使用指针将所求量代入函数
第二步:利用循环将数列中的数带入arr
void max_min(int
arr,int n)
第一步:使用指针将所求量代入函数
第二步:定义i,max,指针b
第三步:利用循环找出最大值,利用b记录其下标
第四步:定义j,min,指针c
第五步:利用循环找出最小值,利用c记录其下标
第六步:利用b和c,将首位与最小值交换,将末尾与最大值交换
void output(int *arr,int n)
第一步:使用指针将所求量代入函数
第二步:定义h
第三步:利用循环输出数列
错误:

流程图:
技术分享图片
技术分享图片
技术分享图片

第六题:
代码:void sort(int x,int n)
{
int i, j , t;
for( j = 1; j <= n-1; j++)
{
for(i = 0; i <= n-j-1;i++)
{if(
(x+i)<(x+i+1))
{
t=
(x+i);
(x+i) = (x+i+1);
*(x+i+1) = t;
}
}
}
}
思路:
第一步:使用指针将所求量代入函数
第二步:定义i,j,t
第三步:建立双循环,利用冒泡排序法
第四步返回主函数
错误;

流程图:
技术分享图片

第七题:
代码:
bool palindrome( char *s )
{
int i=0,n=0;
for(;s[i]!=‘\0‘;i++)
n++;
for(i=0;i<=(n/2);i++)
{
if(s[i]!=s[n-i-1])
return 0;
}
return true;
}
思路:
第一步:使用指针将所求量代入函数
第二步:定义i=0,n=0
第三步:利用循环记录数列中有多少数目
第四步:利用循环判断对应位置的字母是否相同
第五步:若是返回true否返回flase
错误:

流程图:
技术分享图片

第八题:
代码:void strmcpy( char t, int m, char s )
{
s=NULL;
int i,n=1;
for(i=0;
(t+i)!=‘\0‘;i++)
n++;
if(m>=n)
s=NULL;
else
{
for(i=m-1;i<=n-1;i++)
s[i-m+1]=t[i];
}
}
思路:
第一步:使用指针将所求量代入函数
第二步:将字符数组t中的元素复制到s上,然后判断
s的长度
第三步:通过for循环将数组t[]中的从第m-1元素赋给数组s[]
第四步:返回主函数
错误:

流程图:
技术分享图片

学习总结:
这两周的学习中我初步学会了指针的用法,复习了主函数和调用函数的知识点,回顾了冒泡排序法。但对与利用指针复制数组,还没有掌握清楚。

git上传:
技术分享图片
https://coding.net/u/jike1liuyu/p/ppp/git/blob/master/%E6%96%B0%E5%BB%BA%E6%96%87%E6%9C%AC%E6%96%87%E6%A1%A3.txt?public=true

第一次作业

标签:9.png   图片   gpo   流程   创建   掌握   复制   交换   若是   

原文地址:https://www.cnblogs.com/liuyuly/p/8645147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!