【SWUST Online Judge】C语言《程序设计基础》作业三(1287、1288题)

 〇、前言

  • 学姐纯粹是为爱发电,整理不易。所以小可爱们动动小手,点个免费的吧~
  • 以防找不到本文,收藏本文也完全不吃亏哟~

一、题目列表

链接指路:

1. 1287: 怎么借书

2. 1288: 素数

【SWUST Online Judge】C语言《程序设计基础》作业三(1287、1288题)_第1张图片

二、题目与题解

(一)1287: 怎么借书

题目描述

小明有n本书,他的好朋友小红、小新、小林想向小明借书,若每人只能借一本书,可以有多少种不同的借法?

输入

一个整数n,代表书的序号为1、2、……、n.

输出

用A,B,C分别代表三个好朋友
依次输出每个人可借的书序号
以及有效的借阅方法总数

样例输入
3
样例输出
A:1 B:2 C:3
A:1 B:3 C:2
A:2 B:1 C:3
A:2 B:3 C:1
A:3 B:1 C:2
A:3 B:2 C:1
6
分析

考察了条件语句、循环语句的使用。因为只有3个好朋友,所以可以直接用三重for循环通过遍历每一种情况来解题;如果是更多的朋友,那么用单纯的循环暴力方法可能就会超时。

遍历时只要让三个好朋友不是借的同一本书序号就可以,所以条件语句里面的条件应该是三个人借的书序号不相同。

本题输出不用换行符,否则会PE。

题解
#include
int main()
{
	int n,i,j,t; //i,j,t 分别代表小红、小新、小林借的书的书序号
    int c=0; //计数器:记录有几种借书的情况
	scanf("%d",&n); //输入小明有几本书
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
		{
			for(t=1;t<=n;t++)
			{
				if(i != j && i != t && j != t ) //小红、小新、小林借的书的书序号不相同
				{
					printf("A:%d B:%d C:%d\n",i,j,t);
					c++;
				}
			}
		}
	}
	printf("%d",c);

    return 0;
}
运行结果
【SWUST Online Judge】C语言《程序设计基础》作业三(1287、1288题)_第2张图片 1287 运行结果

 (二)1288: 素数

题目描述

输出n1到n2之间的素数。

输入

两个整数n1,n2

输出

n1,n2之间所有的素数
每5个数输出为一行

分析

素数是大于1,而且只能被1或它本身整除的数字。按照这个特性来写程序就行。

样例输入
20 100
样例输出
23 29 31 37 41
43 47 53 59 61
67 71 73 79 83
89 97 
题解
#include
int main(void) 
{
	int a,b,i,j,c=0;
	scanf("%d%d",&a,&b);
	for(i=a; i<=b; i++) 
	{
		for(j=2; j<=i; j++) 
		{
			if(i%j==0) 
			{
				break;
			}
		}
		if(i==j) 
		{
			c++;
			printf("%d ",i);
			if(c%5==0) 
			{
				printf("\n");
			}
		}
	}
	return 0;
}
运行结果
【SWUST Online Judge】C语言《程序设计基础》作业三(1287、1288题)_第3张图片 1288 运行结果

三、后言

  • 目前分享的这些资料仅仅为个人学习参考所用,有代码虽好,但也不要在你的作业里面直接抄袭请根据自己的思考加以修改为好!!!
  • 文章或许会有变动,以最新一版为准。
  • 因为是课上了很久再整理的,所以很多细节记不太清楚了,有错漏之处还望不吝指正。
  • 因为课程更新换代,可能题目内容有所不同,请小伙伴们看清楚再下手。
  • 部分内容是不完整的,如果有互助人愿意和我一起完善文档,也十分欢迎!!

其他文章推荐:

通过一道题体会算法之美——百元买鸡问题

【SWUST Online Judge】C语言《程序设计基础实验》实验一(613、614题)

【SWUST Online Judge】C语言程序设计作业一(1283、1284题)

【SWUST Online Judge】C语言《程序设计基础实验》实验二(77、78、276题)

【SWUST Online Judge】C语言《程序设计基础》作业二(1285、1286题)

你可能感兴趣的:(算法,c++,数据结构)