9.11 编程练习

7.

# include <stdio.h>
# include <ctype.h>

int letter_location (char ch);

int main (void)
{
	char ch;
	int location;
	
	while ((ch = getchar()) != EOF) 
	{
		if ((location = letter_location(ch)) == -1)
			printf("%c is not a letter.\n", ch);
		else 
		    printf("%c is a letter, location: %d\n", ch, location);
	}

	return 0;
}

int letter_location (char ch)
{
	if (isalpha(ch))
	{
		ch = tolower(ch);
		return (ch - 'a' + 1);
	}
	else
	    return -1;
	
}

8.

# include <stdio.h>
# include <stdlib.h>

double power (double a, int c);

int main (void)
{
	double x, xpow;
	int y;
	
	printf("Test power() function:\n");
	printf("Enter a number and exponent: \n");
	
	while ((scanf("%lf %d", &x, &y)) == 2)
	{
		xpow = power(x, y);
		
		printf("%lf ^ %d = %lf\n", x, y, xpow);
		printf("Enter a number and exponent: \n");
	}
	
	return 0;
 } 
 
 double power (double a, int c)
 {
 	double base = a;
 	
 	if (a == 0)
 	{
 		if (c == 0)
 		{
 			printf("Warning: 0 ^ 0 is undefined. Using 1 to substitute.\n");
 			return 1;
		 }
 		else 
 		    return 0;
	 }
 	
 	if (a != 0 && c == 0)
 	   return 1;
 	   
 	for (int i = 0; i < abs(c); i++)
 	     base *= a;
 	     
 	if (c < 0)     
 	    base = 1 / base;
 	    
 	return base;    
 	
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值