C Primer Plus 第六版第六章习题答案

 1.

#include<stdio.h>
int main()
{
	int i;
	char zimu[26];
	for (i = 0;i < 26;i++) 
	{
		zimu[i] = 'a'+i;
		printf("%c ", zimu[i]);
	}
	
	return 0;
}

2.

#include<stdio.h>
int main()
{
	int i, j;
	for (i = 1;i <= 5;i++)
	{
		for (j = 1;j <= i;j++)
		{
			printf("$");
		}
		printf("\n");
	}

	return 0;

}

3.

#include<stdio.h>

int main()
{
	int i,j;
	
	for (i = 1;i <= 6;i++)
	{
		for (j = 1;j <= i;j++)
		{
			printf("%c", 'G'-j);
		}
		printf("\n");
	}

	return 0;
}

4.

#include<stdio.h>
int main()
{
	int i, j;
	int sum = 0;

	for (i = 1;i <= 6;i++)
	{

		sum += (i-1);
		for (j = 1;j <= i;j++)
		{
			printf("%c", 'a' -1 + j +sum);
		}
		printf("\n");

	}
	return 0;
}

5.

#include<stdio>
int main()
{
	int i, j,m,n,ks;//ks-每行空格数
	char x;


	printf("请输入大写字母:");
	scanf_s("%c", &x);

	for (i = 1;i <= x - 'A' + 1;i++)//控制行数,共有 x - 'A' + 1 行
	{
		ks = x - 'A' + 1 - i; //每行空格数,每行有 行数-i个 空格
		for (j = 1;j <= ks;j++)//打印ks个空格
			printf(" ");
		for(m='A';m <='A' - 1 + i;m++)//升序打印
			printf("%c",m);
		for (n = 'A' + i -2;n >='A';n--)//降序打印
			printf("%c", n);


		printf("\n");
	
		

	}

}

6.

#include<stdio.h>
double power(int n);

int main()
{
	int x,s,m;

	printf("xiaxian:");
	scanf_s("%d",&x);
	printf("shangxian:");
	scanf_s("%d", &s);
	for(m=x;m<=s;m++)
		power(m);
	
	return 0;
}

double power(int n)
{
	printf("%g ,%g ,%g \n",(double)n, (double)n*n, (double)n*n*n);
	return 0;
}

7.

include<stdio.h>
int main()
{
	char s[50];
	int i,m;

	printf("word:\n");
	scanf("%s", s);	

	m = strlen(s);		

	for (i=m-1; i >= 0; i--)
	{
		printf("%c", s[i]);
	}

	
	return 0;

8.

#include<stdio.h>
int main()
{
	double m, n;

	printf("m and n :");
	while (scanf("%lf", &m) == 1, scanf("%lf", &n) == 1)
	
		printf("%g\nm and n:", (m - n) / (m * n));

	printf("over");
	
	return 0;

}

9.

#include<stdio.h>
double h (double m , double n);
int main()
{
	double m, n;

	printf("m and n :");
	while (scanf("%lf", &m) == 1, scanf("%lf", &n) == 1)

		printf("%g\nm and n:", h(m,n));

	printf("over");

	return 0;

}

double h(double m, double n)
{
	return (m - n) / (m * n);
}

10.

#inclujde<stdio.h>

int main()
{
	double l, u,i;
	double sum = 0;

	printf("lower and upper integer limits:");
	scanf ("%lf",&l);
	scanf ("%lf",&u);
	while (l < u)
	{
		sum = 0;
		for (i = l;i <= u;i++)
		{
			sum += i * i;
		}

		printf("sum is %g:",sum);

		printf("\nlower and upper integer limits:");
		scanf("%lf",&l);
		scanf("%lf",&u);

	}

	printf("off");

	return 0;

}

11.

#include<sidio.h>

int main()
{
	int m[20];
	int i;

	printf("8 int:");
	for (i = 0;i < 8;i++)
		scanf("%d", &m[i]);
	for (i = 7;i >= 0;i--)
		printf("  %d  ", m[i]);

	return 0;

}

12.

#include<stdio.h>
int main()
{
	int m;
	double sum1=0, sum2=0;
	int i, j;
	double x=1;
	
	printf("cishu:");
	scanf("%d", &m);
	 while (m > 0)
	{
		 for (i = 1;i <=m ;i++)
		 {
			 sum1 += 1.0 / i;
		 }
		 for (i = 1;i <= m;i++)
		 {
			 for (j = 1;j <= i;j++)
				 x *= (-1);
			 sum2 += (-1.0)*x * 1.0 / i;
			 x = 1;
		 }
		 printf("jieguo:%g\n", sum1 + sum2);
		 printf("cishu:");
		 scanf("%d", &m);
		 sum1 = 0;
		 sum2 = 0;

	}
	 return 0;

}

13.

#include<stdio.h>

int main()
{
	int m[8];
	int i, j = 0;
	m[0] = 2;

	for (i = 1;i < 8;i++)
		m[i] = 2*m[i-1] ;
	do 
	{
		printf("%d\n",m[j]);
		j++;
	} while (j <= 7);

	return 0;
}

14.

#include<stdio.h>
int main()
{
	double a[8], b[8];
	int i, j;
	printf("8digits:");
	for (i = 0;i < 8;i++)
		scanf("%lf",&a[i]);
	b[0] = a[0];
	for (i = 1;i < 8;i++)
		b[i] = b[i - 1] + a[i];
	for (i = 0;i < 8;i++)
		printf("%8g", a[i]);
	printf("\n");
	for (i = 0;i <= 7;i++)
		printf("%8g", b[i]);

	return 0;



}

15.

#include<stdio.h>
int main()
{
	char s[256];
	int i = 0;
	printf("zishuneirong:");
	scanf("%s", s);
	for (i = strlen(s)-1;i >= 0;i--)
		printf("%c", s[i]);
	return 0;

}

16.

#include<stdio.h>
int main()
{
	double da=100, de=100;
	int i;
	for (i = 1;de <=da;i++)
	{
		da += 100 * 0.10 ;
		de *= (1+0.05);
	}
	printf("de:%g   da:%g   %d年de超过da", de,da,i-1);
	return 0;
}

17.

#include<stdio.h>
int main()
{
	double c = 100;
	int year;

	for (year = 1;c>0 ;year++)
	{
		c *= 1.08;
		c -= 10;
	}

	printf("%d年后取完", year - 1);
	return 0;

}

18.

#include<stdio.h>
int main()
{
	int friends = 5;
	int i;
	printf("第1周有%d朋友\n",friends);
	for (i = 1;friends <= 150;i++)
	{
		friends = (friends - i) * 2;
		printf("第%d周有%d朋友\n",i+1,friends);
	}
	return 0;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值