加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《C语言程序设计》上机实验六 指针 参考答案

(2010-05-31 15:47:42)
标签:

教育

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

 

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

 

#include <stdio.h>
#include <math.h>

 

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("\n\n (%.3f)^(%d)=%.3f \n\n\n",x,y,mypow);
}

 

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

 

#include <stdio.h>
#include <math.h>

#define N 3

 

int absmin(int *a,int n)
{
 int absm=(int)fabs(a[0]),i,im=0;

 for(i=0;i<n;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<N;i++)
  scanf("%d",a+i);

 im=absmin(a,n);

 printf("数组a前%d个整数最小值为:%d \n\n\n",n,a[im]);
}

 

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

#include <stdio.h>
#include <string.h>

#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("请任意输入一个字符串(长度<%d)",N);
 gets(s);
 puts(s);
 invstr(s);

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

http://s8/middle/5f2925ff487df287d6ab7&690指针 参考答案" TITLE="《C语言程序设计》上机实验六 指针 参考答案" />

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有