首页 > 技术文章 > 第十次作业

zscswd1368 2016-11-30 11:06 原文

1.计算两数的和与差。要求自定义一个函数

#include<Stdio.h>
void sum_diff(float op1,float op2,float *psum,float *pdiff)
{ 
    *psum=op1+op2;
    *pdiff=op1-op2;
}

int main()
{
    float op1,op2,*psum,*pdiff,sum,diff;
    printf("Input 2 number:");
    scanf("%f%f",&op1,&op2);
    sum_diff(op1,op2,&sum,&diff);
    printf("sum=%.2f diff=%.2f",sum,diff);
    return 0;
}

 

 

 

 

 

2.利用指针找最大值:要求自定义一个函数 

#include<stdio.h>
void findmax( int *px,int *py,int *pmax)
{
    if(*px>*py) *pmax=*px;
    if(*py>*px) *pmax=*py;
}

int main()
{
    int *px,*py,a,b,max;
    printf("Input 2 number:");
    scanf("%d%d",&a,&b);
    px=&a;
    py=&b;
    findmax(px,py,&max);
    printf("max=%d",max);
    return 0;
}

 

 

 

3.拆分实数的整数与小数部分:要求自定义一个函数

#include<Stdio.h>
void splitfloat (float x, int *intpart,float *fracpart)
{
    int y;
    float z;
    y=x/1;
    z=x-y;
    *intpart=y;
    *fracpart=z;
}

int main()
{
    float xs,x,z,*intpart,*fracpart;
    int y,zs;
    printf("Input x:");
    scanf("%f",&x);
    splitfloat(x,&zs,&xs);
    printf("intpart=%d fracpart=%.2f",zs,xs);
    return 0;
}

 

 

 

知识点:

1.指针变量是在程序中声明一个变量并使用地址作为该变量的值

2.&用于给出变量的地址

int *p,a=3;

p=&3;

3.定义指针变量时应可以同时对它赋值

int a;

int *p=&a;

遇到的问题与解决方法

1.对p、*p、的赋值与应用还不熟练有时候会弄乱,所以我就多写了几次

2.有时候赋值发现不能成功,看书之后发现了,指针类型和他所指向变量的类型必须相同

 

推荐阅读