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

 〇、前言

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

一、题目列表

链接指路:

1. 1287: 怎么借书

2. 1288: 素数

二、题目与题解

(一)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<stdio.h>
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;
}
运行结果
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<stdio.h>
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;
}
运行结果
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题)

  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值