《明解C语言》笔记及课后习题答案 【第三章】

练习3-1

/*---输入两个整数,判断后者是否为前者的约数---*/

#include <stdio.h>

int main(void)
{
	int a,b;
	
	puts("请输入两个整数。");
	printf("整数a:");
	scanf("%d",&a);
	
	printf("整数b:");
	scanf("%d",&b); 
	
	if(a%b)
		puts("b不为a的公约数");
	else
		puts("b为a的公约数");
		
	return 0; 
 } 


练习3-2

/*---if语句结尾用else if结果会怎样---*/

#include <stdio.h>

int main(void)
{
	int a;
	
	scanf("%d",&a);
	
	if(a == 0)
		puts("a为0");
	else if(a < 0 )
		puts("a为负数");
	else if(a > 0 )
		puts("a为正数");
	//运行结果正常 

        return 0;
 } 


练习3-3

/*---输出一个数的绝对值---*/

#include <stdio.h>

int main(void)
{
	int a;
	
	printf("请输入一个数:");
	scanf("%d",&a);
	
	if(a >= 0)
		printf("绝对值是%d",a);
	else
		printf("绝对值是%d",-a);
		
	return 0;
 } 


练习3-4

/*---输入两个数并判断大小---*/

#include <stdio.h>

int main(void)
{
	int a, b;
	
	puts("请输入两个数。");
	printf("整数A:");
	scanf("%d",&a);
	
	printf("整数B:");
	scanf("%d",&b);
	
	if(a == b)
		printf("a和b相等");
	else if(a >b )
		printf("a大于b"); 
	else 
		printf("a小于b");
		
	return 0;
 } 


练习3-6

/*---计算出输入的三个整数中的最小值并显示---*/

#include <stdio.h>

int main(void)
{
	int a, b, c,min;
	
	puts("请输入三个整数.");
	printf("整数a:");
	scanf("%d",&a);
	
	printf("整数b:");
	scanf("%d",&b);
	
	printf("整数c:");
	scanf("%d",&c);
	
	min = a;
	
	if(b < min)
		min = b;
	if(c < min)
		min = c;
		
	printf("最小值为%d",min);
	
	return 0;
 } 


练习3-7

/*---输入的四个整数中的最大值并显示---*/

#include <stdio.h>

int main(void)
{
	int a, b, c,max;
	
	puts("请输入三个整数.");
	printf("整数a:");
	scanf("%d",&a);
	
	printf("整数b:");
	scanf("%d",&b);
	
	printf("整数c:");
	scanf("%d",&c);
	
	max = a;
	
	if(b > max)
		max = b;
	if(c > max)
		max = c;
		
	printf("最大值为%d",max);
	
	return 0;
 } 


练习3-8

/*---使用if语句代替条件按运算符---*/

#include <stdio.h>

int main(void)
{
	int n1, n2;
	
	puts("请输入两个整数。");
	printf("整数1:");	scanf("%d",&n1);
	printf("整数2:");	scanf("%d",&n2);
	
	if(n1>n2)
		printf("它们的差是%d。\n",n1-n2);
	else
		printf("它们的差是%d。\n",n2-n1); 
		
	return 0;
}


练习3-9

/*---用条件运算符改写程序---*/

#include <stdio.h>

int main(void)
{
	int num;
	
	printf("请输入一个整数:");
	scanf("%d",&num);
	
	(num == 0)?puts("该整数是0"):puts("该整数不是0"); 

        return 0;    
 }   


练习3-10

/*---输入三个数,如果有三个相等,则输出有三个值相等,
以此类推,输出三种不同结果。---*/

#include <stdio.h>

int main(void)
{
	int a, b, c;
	
	puts("请输入三个整数。");
	printf("整数A:");	scanf("%d",&a);
	printf("整数B:");	scanf("%d",&b);
	printf("整数C:");	scanf("%d",&c);
	
	if(a == b && b == c)
		printf("三个值都相等");
	else if(a == b || b == c || a == c)
		printf("有两个值相等");
	else
		printf("三个值各不相等");
		
	return 0;
 } 


练习3-11

/*---用逻辑或运算符计算差值---*/

#include <stdio.h>

int main(void)
{
	int a, b;
	
	puts("请输入两个整数。");
	printf("整数A:");	scanf("%d",&a);
	printf("整数B:");	scanf("%d",&b);
	
	if((a-b) <= 10 || (a-b) == 0)
		printf("它们的差小于等于10。");
	else
		puts("它们的差大于等于11。");
		
	return 0;
 } 


练习3-12

/*---用swith语句改写程序---*/

#include <stdio.h>

int main(void)
{
	int no;
	
	printf("请输入一个整数:");
	scanf("%d",&no);
	
	switch(no%2){
		case 0: puts("该整数是偶数。"); break;
		default:	puts("该数是奇数。");  
	}
	
	return 0;
 } 

练习3-13

/*---使用switch语句修改程序---*/

#include <stdio.h>

int main(void)
{
	int month;
	
	printf("请输入月份:");
	scanf("%d",&month);
	
	switch (month) {
		case 3:
		case 4:
		case 5:
			printf("%d月是春季。\n",month);	break;
		case 6:
		case 7:
		case 8:
			printf("%d月是夏季。\n",month); break;
		case 9:
		case 10:
		case 11:
			printf("%d月是秋季。\n",month); break;
		case 12:
		case 1:
		case 2:
			printf("%d月是冬季。\n",month); break;
		default : 
			printf("%d月不存在!!\a\n",month);
		
		return 0;
	}
 } 

关系运算符:比较两个操作数大小关系的运算符称为关系运算符。

条件运算符:

                


复合语句(程序块):

逻辑运算符:

&&(逻辑与运算符)            ||(逻辑或运算符)           

switch语句:


相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页