指针作业

本文提供了一系列的C语言编程练习,涉及使用指针进行字符串操作、数值计算和数组处理。包括实现自定义次方函数、求绝对值最小整数、字符串逆序输出、字符串比较、字符类型统计、数组排序与调整、单词计数等功能。通过这些练习,旨在加深对指针在函数参数传递中的应用理解。
摘要由CSDN通过智能技术生成

一. 简答题
下面内容只能利用指针知识完成
1、编写程序:完成函数void my_power(double x,int y,double *mypow)的定义,该函数的功能是:求xy(即x的y次方)存入指针变量mypow所指向的存贮单元中,并编写主程序,验证my_power()的有效性。

#include "stdio.h"
    void my_power(double x,int y,double *mypow)
    {
    	int i;
    	double k=1.0;
    	if(y>0)
    		for(i=0;i<y;i++)
    			k=k*x;
    	else 
    		for(i=0;i<(-y);i++)
    			k=k*x;
    	*mypow=k;
    }
    void main()
    {
    	double x,n;
    	int y;
    	printf("请输入底数x和幂y的值:\n");
    	scanf("%lf%d",&x,&y);
    	while(!x&&!y)
    	{printf("无意义,请重新输入x和y的值\n");
    	scanf("%lf%d",&x,&y);
    	}
    	my_power(x,y,&n);
    	printf("x的y次方为%lf\n",n);
    }

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

#include "stdio.h"
#include "math.h"
int absmin(int *a,int n)
{
 int min=0,i;
 for(i=0;i<n;i++)
	if(abs(*(a+min))>abs(*(a+i)))
		min=i;
 return *(a+min);
}
void main()
{
	int a[100],i,min,n;
	printf("请输入数组个数\n");
	scanf("%d",&n);
	printf("请输入数组元素\n");
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	printf("请输入比较的个数n\n");
	scanf("%d",&n);
	min=absmin(a,n);
	for(i=0;i<n;i++)
		if(abs(min)==abs(*(a+i)))
			printf("绝对值最小的数分别为%d\n",*(a+i));
}	

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值