作业要求二
1)C高级第一次PTA作业(1)
6-1 计算两数的和与差
本题要求实现一个计算输入的两数的和与差的简单函数。
代码如下:
`void sum_diff( float op1, float op2, float *psum, float *pdiff )
{
*psum = op1 + op2;
*pdiff = op1 - op2;
}`
指针在题目中的作用:
op1代表a,op2代表b,*psum代表sum,*pdiff代表diff。
6-2 拆分实数的整数与小数部分
本题要求实现一个拆分实数的整数与小数部分的简单函数。
代码如下:
`void splitfloat( float x, int *intpart, float *fracpart )
{
*intpart = x;
*fracpart=x - *intpart;
}`
指针在题目中的作用:
x为输入数,*intpart取x整数部分,*fracpart取输入数减整数的部分(也就是小数部分)。
2)C高级第一次PTA作业(2)
6-1 在数组中查找指定元素
本题要求实现一个在数组中查找指定元素的简单函数。
代码如下:
`int search(int list[], int n, int x ){
int i,index;
for(i=0;i<n;i++)
{
if(list[i]==x){
index = i;
break;
}else{
index = -1;
}
}
return index;
}`
流程图
6-2 找最大值及其下标
在一维整型数组中找出其中最大的数及其下标。
代码如下:
`int fun(int *a,int *b,int n){
int i;
for(i=0;i<n;i++){
if(a[i]>*a){
*a = a[i];
*b = i;
}
}return *a;
}`
流程图
3)C高级第一次PTA作业(3)
6-1 最小数放前最大数放后
为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换;输出数组元素。
代码如下:
`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 t;
int i,x,y,z;
int min=*arr;
int max=0;
for(i=0;i<n;i++){
if(*(arr+i)<min){
min=*(arr+i);
x=i;
}
}
t=*(arr+x);
*(arr+x)=*arr;
*arr=t;
for(y=0;y<n;y++){
if(*(arr+y)>max){
max=*(arr+y);
z=y;
}
}
t=*(arr+z);
*(arr+z)=*(arr+n-1);
*(arr+n-1)=t;
}
void output(int *arr,int n){
int i;
for(i=0;i<n;i++){
printf("%3d",*(arr+i));
}
}`
流程图
6-2 指针选择法排序
指针选择法对10个数进行由大到小的排序。
代码如下:
`void sort(int *x,int n){
int i,j,t;
for(j=1;j<10;j++)
for(i=0;i<10-j;i++)
{
if(*(x+i)<*(x+i+1))
{
t=*(x+i);
*(x+i)=*(x+i+1);
*(x+i+1)=t;
}
}
}`
流程图
4)C高级第一次PTA作业(4)
6-1 判断回文字符串
本题要求编写函数,判断给定的一串字符是否为“回文”。
代码如下:
`bool palindrome( char *s ){
int i,j;
int n = strlen(s);
for(i=0,j=n-1;i<=(n-1)/2;i++,j--)
{
if(*(s+i)!=*(s+j))
{
return false;
}
}
if(i>=j) return true;
}`
流程图
6-2 使用函数实现字符串部分复制
本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。
代码如下:
`void strmcpy( char *t, int m, char *s ){
int n;
n=strlen(t);
int i;
int a=0;
if(m<=n){
for(i=m;t[i-m]!=‘\0‘;i++)
{
*(s+a)=t[i-1];
a++;
}*(s + n) = ‘\0‘;
}else{
*s=‘\0‘;
}
}`
流程图
作业要求三
1、总结两周里所学的知识点有哪些学会了?哪些还没有学会?
2、将PTA作业的源代码使用git提交到托管平台上,要求给出上传成功截图和你的git地址。
git地址:https://git.coding.net/wuyaole/dayixiagxueqi01.git
截图