吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(4)
作者:互联网
13. 倍数
题目编号:Exp02-Basic07,GJBook3-03-07
题目名称:倍数
题目描述:任意一个整数n,如果n能同时被3、5、7整除,则n是3、5、7的倍数,如果n只能同时被其中的两个数整除,则n是两个数的倍数,如果n只能被其中一个数整除,则n是一个数的倍数,否则n不是3、5、7的倍数。
输入:输入一个整数。输出:按照是否是倍数输出。
样例1:输入:105输出:3,5,7样例2:
输入:30输出:3,5样例3:
输入:21输出:3,7样例4:
输入:35输出:5,7样例5:
输入:14输出:7样例6:
输入:101输出:NULL
有的同学居然这样写代码,真让人眼前一亮,写的很好,下次不要写了
虽然没有问题,运行的结果也对,但是考试时的时间是比较宝贵的
#include <iostream>
using namespace std;
int main()
{
long long n=0;
cin >> n;
if ((n % 3 == 0) && (n % 5 == 0) && (n % 7 == 0))
cout << "3,5,7" << endl;
else if ((n % 3 == 0) && (n % 5 == 0) && (n % 7 != 0))
cout << "3,5" << endl;
else if ((n % 3 == 0) && (n % 5 != 0) && (n % 7 == 0))
cout << "3,7" << endl;
else if ((n % 3 != 0) && (n % 5 == 0) && (n % 7 == 0))
cout << "5,7" << endl;
else if ((n % 3 == 0) && (n % 5 != 0) && (n % 7 != 0))
cout << "3" << endl;
else if ((n % 3 != 0) && (n % 5 == 0) && (n % 7 != 0))
cout << "5" << endl;
else if ((n % 3 != 0) && (n % 5 != 0) && (n % 7 == 0))
cout << "7" << endl;
else cout << "NULL" << endl;
return 0;
}
但我们可以适当的将这个问题"简化"
#include <iostream>
using namespace std;
int main()
{
long long n=0;
int flag = 0;
cin >> n;
if (n % 3 == 0)
{
cout << "3";
flag=1;
}
if (n % 5 == 0)
{
if (flag)cout << ",";
cout << "5";
flag = 1;
}
if (n % 7 == 0)
{
if (flag)cout << ",";
cout << "7";
}
if ((n % 3 != 0) && (n % 5 != 0) && (n % 7 != 0))
cout << "NULL";
return 0;
}
有一点你需要注意的是,“,”的输出----只有当某个数之前还有数时再输出逗号
14. 养老金
题目编号 :Exp02-Basic04
题目名称:养老金
题目描述:某一国家养老金发放的原则是:
(1)男人(假设用数字1表示)超过65岁每周给50元钱,如果超过70岁每周再加20元钱。
(2)女人(假设用数字2表示)超过60岁每周给45元钱,如果超过65岁每周再加25元钱。
编程序,读入一个人的性别和年龄,输出他每周可领养老金数额。如果一个人还没到拿取养老金的年龄,那么就输出一个适合的信息。
输入:输入一行包括2个整数,分别对应性别和年龄,输入保证性别年龄输入都为合理整数。输出:如果达到领取养老金年龄,就请输出每周应得养老金数额;否则输出NULL。
样例1:
输入: 1 75输出: 70样例2:
输入: 2 63输出: 45
这个题目相对比较简单,厘清思路后直接写即可
#include <iostream>
using namespace std;
int main()
{
int s, age;
cin >> s >> age;
if (s == 1)
{
if ((age > 65) && (age <= 70))
cout << "50";
if ((age > 70))
cout << "70";
if (age <= 65)
cout << "NULL";
}
if (s == 2)
{
if ((age > 60) && (age <= 65))
cout << "45";
if (age > 65)
cout << "70";
if (age <= 60)
cout << "NULL";
}
return 0;
}
15. 数字求和
题目编号 :Exp02-Basic03
题目名称:数字求和
题目描述:给定一个整数a,以及另外的5个整数,问题是:这5个整数中,可以被a整除的整数和是多少?
输入:输入一行只包括6个小于100的整数,其中第一个整数是a,输入保证a不为零。
输出:输出一行,给出一个整数,是5个数中可以被a整除的所有整数的和。
样例1:输入:10 10 -20 30 40 11输出:60样例2:
输入:11 10 20 30 40 12输出:0
#include <iostream>
using namespace std;
int main()
{
int a, sum=0;
int num[5];
cin >> a;
for (int i = 0;i < 5;i++)
{
cin >> num[i];
}
for (int i = 0;i < 5;i++)
{
if (num[i] % a != 0)
num[i] = 0;
sum += num[i];
}
cout << sum << endl;
return 0;
}
随着这个题代码的编译完成,我们的 实验02 分支与循环程序设计(2021级)就到此为止了,
此处应有掌声为自己鼓励
回想之前发的几篇博客,我们学到了什么?掌握了什么?以及考试的时候怎么能快速简洁的编出正确的代码,提交测试的时候一遍过?
对细节的掌握,阶乘,打表,优美的for循环,还有C++的输入输出格式
也希望同学们在温习C++的同时跟上学校C的进度,因为OJ测试好像只能写C
标签:02,输出,题目,int,样例,整数,超星,程序设计,输入 来源: https://blog.csdn.net/S_CuRrY666/article/details/121414378