谭浩强C语言第四版——例题及章节习题(第二章)

第二章 代码例题

//【例2.1】求1×2×3×4×5
#include <stdio.h>
int main()
{
	int i, n, sum;
	i = 1;
	n = 5;
	sum = 1;
	for (i = 1; i <= 5; i++)
	{
		sum = sum * i;
	}
	printf("sum = %d\n", sum);
  return 0;
}

【例2.2】有50个学生,要求输出成绩在80分以上的学生的学号和成绩


//【例2.3】判定2000—2500年中的每一年是否为闰年,并将结果输出
#include <stdio.h>
int main()
{
	int year, ret;
	ret = 0;
	for (year = 2000; year <= 2500; year++)
	{
		if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
		{
			printf("%d ", year);
			ret++;
		}
	}
	printf("\n\n2000-2500期间一共有%d个闰年\n",ret);
	return 0;
}

//【例2.4】求 1−1/2+1/3−1/4+⋯+1/99−1/100
#include <stdio.h>
int main()
{
	int i, flag;
	double sum;
	i = 1;
	flag = 1;
	sum = 0.0;
	for (i = 1; i <= 100; i++)
	{
		sum = sum + flag * 1.0 / i; 
		flag = -flag;
	}
	printf("sum = %lf\n", sum);
	return 0;
}

//【例2.5】给出一个大于或等于3的正整数,判断它是不是一个素数
#include <stdio.h>
#include <math.h>
int main()
{
	int num;
	scanf("%d", &num);
	int i,flag;
	flag = 1;//1表示是素数 0表示不是素数
	for (i = 2; i <= sqrt(num); i++)
	{
		if (num % i == 0)
			flag = 0;
	}
	if (flag == 1)
		printf("%d是素数\n", num);
	if (flag == 0)
		printf("%d不是素数\n", num);
	return 0;
}

第二章 代码习题

//T 2-4(2)
//输入十个数,输出其中最大值
#include <stdio.h>
int main()
{
	int arr[10] = { 0 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		scanf("%d", &arr[i]);
	}
	int max = arr[0];
	for (i = 0; i < 10; i++)
	{
		if (arr[i] > max)
			max = arr[i];
	}
	printf("max = %d\n", max);
	return 0;
}


//T 2-4(3)
//3个数按大小顺序输出
#include <stdio.h>
int main()
{
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	int tmp;
	if (a < b)
	{
		tmp = a;
		a = b;
		b = tmp;
	}
	if (a < c)
	{
		tmp = a;
		a = c;
		c = tmp;
	}
	if (b < c)
	{
		tmp = b;
		b = c;
		c = tmp;
	}
	printf("三个数从大到小输出为%d %d %d\n",a,b,c);
	return 0;
}

//T 2-4(4)
//求1-100的加和
#include <stdio.h>
int main()
{
	int i, sum;
	i = 0;
	sum = 0;
	for (i = 1; i <= 100; i++)
	{
		sum += i;
	}
	printf("sum = %d\n", sum);
	return 0;
}

//T 2-4(5)
//判断一个数能否同时被3和5整除
#include <stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);
	if ((num % 3 == 0) && (num % 5 == 0))
		printf("%d能同时被3和5整除\n", num);
	else
		printf("%d不能同时被3和5整除\n", num);
	return 0;
}


//T 2-4(6)
//输出100-200之间的素数
#include <stdio.h>
#include <math.h>
int main()
{
	int num = 0;
	int count = 0;
	for (num = 100; num <= 200; num++)
	{
		int flag = 1;//1表示是素数 0表示不是素数
		int j = 0;

		for (j = 2; j <= sqrt(num); j++)
		{
			if (num % j == 0)
			{
				flag = 0;
				break;
			}

		}

		if (flag == 1)
		{
			printf("%d ", num);
			count++;
		}

	}
	printf("\n\n100-200之间有 %d 个素数", count);
	return 0;
}


//T 2-4(7)
//求两个数的最大公约数
#include <stdio.h>
int main()
{
	int m, n;
	scanf("%d%d", &m, &n);
	int r = m;
	while (r != 0)
	{
		m = n;
		n = r;
		r = m % n;
	}
	printf("这两个数的最大公约数为%d\n", n);
	return 0;
}


//T 2-4(8)
//求二元一次方程的根 a*x^2+b*x+c=0 
//分三种情况讨论 ①有两个相等的实数根(b^-4*a*c)==0  ②有两个不等的实数根(b^-4*a*c)>0  ③无实数根(b^-4*a*c)<0
#include <stdio.h>
#include <math.h>
int main()
{
	double a = 0.0;
	double b = 0.0;
	double c = 0.0;
	scanf("%lf%lf%lf", &a, &b, &c);
	double x1 = 0.0;
	double x2 = 0.0;
	double judge = b * b - 4 * a * c;
	double front = (-b) / (2 * a);
	double back = sqrt(judge) / (2 * a);
	if (judge == 0.0)
	{
		x1 = x2 = front;
		printf("x1 = %0.2lf,  x2 = %0.2lf\n",x1,x2);
	}
	if (judge > 0)
	{
		x1 = front + back;
		x2 = front - back;
		printf("x1 = %0.2lf,  x2 = %0.2lf\n", x1, x2);
	}
	if (judge < 0)
	{
		double front = (-b) / (2 * a);
		double back = sqrt(-judge) / (2 * a);
		printf("x1 = %0.2lf + %0.2lfi,  x2 =%0.2lf - %0.2lfi\n", front, back, front, back);
	}
	return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++程序设计,谭浩强编著,清华大学出版社。 课件制作:南京理工大学 陈清华 朱红 C语言的主要特点是: 1、C语言是一种结构化的程序设计语言,语言本身简洁、使用灵活方便。既适用于设计和编写大的系统程序,又适用于编写小的控制程序,也适用科学计算。 2、它既有高级语言的特点,又具有汇编语言的特点。运算符丰富,除了提供对数据的算术逻辑运算外,还提供了二进制的位运算。并且也提供了灵活的数据结构。用C语言编写的程序表述灵活方便,功能强大。用C语言开发的程序,其结构性好,目标程序质量高,程序执行效率高。 3、程序的可移植性好。用C语言在某一种型号的计算机上开发的程序,基本上可以不作修改,而直接移植到其它型号和不同档次的计算机上运行。 4、程序的语法结构不够严密,程序设计的自由度大。这对于比较精通C语言的程序设计者来说,可以设计出高质量的非常通用的程序。但对于初学者来说,要能比较熟练运用C语言来编写程序,并不是一件容易的事情。与其它高级语言相比而言,调试程序比较困难。往往是编好程序输入计算机后,编译时容易通过,而在执行时还会出错。但只要对C语言的语法规则真正领会,编写程序及调试程序还是比较容易掌握的。 为了克服C语言本身存在的缺点,并保持C语言简洁、高效,与汇编语言接近的特点,1980年,贝尔实验室的Bjarne Stroustrup博士及其同事对C语言进行了改进和扩充,并把Simula 67中类的概念引入到C中。并在1983年由Rick Maseitti提议正式命名为C++(C Plus Plus)。后来,又把运算符的重载、引用、虚函数等功能加入到C++中,使C++的功能日趋完善。 当前用得较为广泛的C++有:VC++ (Visual C Plus Plus)、 BC++(Borland C Plus Plus)、AT&T C++

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值