c语言程序设计指针变量实验原理6,[转载]《C语言程序设计》上机实验六 指针 参考答案...

//《C程序设计》 上机实验指导 P45

//二、1.编写程序:完成函数void my_power(double x,int y,double

*mypow)的定义,该函数的功能是:求x^y存入指针变量mypow所指向的存贮单元中,并编写主程序,验证my_power()的有效性。

#include

#include

void my_power(double x, int y,double *mypow)

{

int i;

double z=1.0;

if(y>0)

{

for(i=1;i<=y;i++)

z*=x;

}

else if(y==0)

z=1.0;

else

{

for(i=1;i<=(-y);i++)

z*=1.0/x;

}

*mypow=z;

return;

}

main()

{

double x,mypow;

int y;

printf("请输入底数x和幂y的值:n");

scanf("%lf%d",&x,&y);

my_power(x,y,&mypow);

printf("nn (%.3f)^(%d)=%.3f

nnn",x,y,mypow);

}

//二、2.编写程序:完成函数int absmin(int *a,int

n)的定义,它能实现求指针a所指向的前n个整数中绝对值最小的数,并将它返回给主调函数;并编写程序,验证absmin()的有效性。

#include

#include

#define N 3

int absmin(int *a,int n)

{

int absm=(int)fabs(a[0]),i,im=0;

for(i=0;i

{

if(absm>fabs(a[i]))

{

absm=(int)fabs(a[i]);

im=i; }

}

return im;

}

main()

{

int a[N],n,i,im;

printf("请输入整数个数n(<=%d):n",N);

scanf("%d",&n);

printf("请输入%d个整数:n",N);

for(i=0;i

scanf("%d",a+i);

im=absmin(a,n);

printf("数组a前%d个整数最小值为:%d

nnn",n,a[im]);

}

//二、3.编写程序:从键盘任意输入一个字符串,输出该字符串。然后,将该字符串逆序存放后再输出,要求用字符指针完成。

#include

#include

#define N 50

void invstr(char *s)

{

int i,j,L,m;

char c;

L=strlen(s);

m=(L-1)/2;

for(i=0,j=L-1;i<=m;i++,j--)

{

c=*(s+i);

*(s+i)=*(s+j);

*(s+j)=c;

}

}

main()

{

char s[N];

printf("请任意输入一个字符串(长度

gets(s);

puts(s);

invstr(s);

printf("n请输出该字符串逆序后的结果:n");

puts(s);

printf("nnn");

}

a4c26d1e5885305701be709a3d33442f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值