[cc++入门必刷题(一)]

[cc++入门必刷题(一)],第1张


目录

1001: a+b

1002: 分铅笔 

1003: 求圆的面积 

1004: 正整数的位数 

1005: 英文字母的字母表位序 

1006: 两个整数的四则运算 

1007: 三位数的数位分离 

1008: 压岁钱存款 

1009: 等差数列求和 

1010: 输出字符ASCII码值的2倍 

1011: 虫子吃苹果

1012: 三个整数的和

1013: 身份z求出生日期

1014: 鸡兔同笼 

1015: 计算时间

1016: 计算国民生产总值增长倍数 

1017: 计算贷款还款时间 

1018: 交换变量  

1019: 译密码(一) 

1020: 从小到大输出三个整数 

1021: positive, negative, or zero 

1022: 龟兔赛跑

1023: 一元二次方程求解 

1024: 奇偶判断 

1025: 是否闰年 

1026: 两个整数中的较大者 

1027: 成绩等级 

1028: 向0舍入 

1029: 求最大数与最小数 

1030: 四则运算 

1031: 国庆促销 

1032: 求平方根 

1033: 分段函数求值 

1034: 求建筑物高度

1035: 字母排序 

1036: 加班费 

1037: 某年某月的天数

1038: 蚂蚁的位置 

1039: 吃水果 

1040: 求m+(m+1)+…+n 

1041: 多用例测试 

1042: 求使1+2+…+i>=n成立的最小整数 i 

1043: 质数判断 

1044: 求1-2/3+3/5-4/7+5/9-6/11+…的前n项和 

1045: 质数判断(使用break语句) 

1046: 输出a到b之间的不能被3整除的整数 

1047: 百文买百鸡 

1048: 求a到b之间存在多少个素数 

1049: 百文买百鸡(增加无解输出) 

1050: 正整数的位数(while实现)  


解题方法全部使用c++

1001: a+b

题目描述

计算两个整数的和。

输入

输入两个整数,两个整数用空格隔开。

输出

输出为两个整数的和,单独占一行。

样例输入

1 2

样例输出

3

源代码

#include 
using namespace std;
int main()
{
	int a,b;
	cin>>a>>b;
	cout<
1002: 分铅笔 

题目描述

有m支铅笔分给n位同学(且m>n),请问每位同学平均可分几支?还剩几支?

输入

输入两个整数m和n,分别表示铅笔的总数和学生的人数(m>n)。

输出

输出两个整数,以逗号分开,分别表示每位同学平均分配的数量及剩余的铅笔数量

样例输入

163 32

样例输出

5,3

源代码

#include 
using namespace std;
int main()
{
    int m,n;
    cin>>m>>n;
    cout<
1003: 求圆的面积 

题目描述

求半径为r的圆的面积(令π=3.14)。

输入

输入一个浮点类型的数r表示圆的半径。

输出

该圆的面积。

样例输入

2.3

样例输出

16.6106

源代码

#include 
#include 
const double PI = 3.14;
using namespace std;
int main()
{
    double r;
    cin>>r;
    cout<
1004: 正整数的位数 

题目描述

输入一个正整数,输出其位数。

输入

一个正整数

输出

正整数的位数

样例输入

123

样例输出

3

源代码

#include 
#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    int ans=log10(n)+1;
    cout<
1005: 英文字母的字母表位序 

题目描述

输入一个小写英文字符,输出其在英文字母表中的排序。

输入

一个小写英文字符。

输出

该字符在英文字母表中的排序。

样例输入

c

样例输出

3

源代码

#include 
using namespace std;
int main()
{
    char c;
    cin>>c;
    int ans = c - 'a' + 1;
    cout<
1006: 两个整数的四则运算 

题目描述

输入两个整数a和b,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。 

输入

输入只有两个正整数a、b。

输出

输出占一行,包括两个数的和、差、积、商及余数,数据之间用一个空格隔开。

样例输入

1 2

样例输出

3 -1 2 0 1

源代码

#include 
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<
1007: 三位数的数位分离 

题目描述

从键盘输入一个任意的三位正整数,分别求出其个位、十位和百位上的数字。 

输入

输入任意的一个三位正整数

输出

依次输出个位、十位、百位上的数字。以空格间隔,但最后一个数据的后面没有空格,直接换行。

样例输入

123

样例输出

3 2 1

源代码

#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    int ans1 = n / 100;
    int ans2 = (n - ans1*100) / 10;
    int ans3 = n % 10;
    cout<
1008: 压岁钱存款 

题目描述

过年了,长辈们给小明发了很多压岁钱,妈妈向小明承诺如果把压岁钱存在妈妈处,则每过一年存款翻倍。

输入

两个用空格分隔的整数,分别表示小明的压岁钱存款数目m,和存在妈妈处的存款年限n。

输出

输出一个整数,代表小明能够得到的存款数目。

样例输入

100 2

样例输出

400

源代码

#include 
#include 
using namespace std;
int main()
{
    int m,n;
    cin>>m>>n;
    cout<
1009: 等差数列求和 

题目描述

给出三个整数,分别表示等差数列的第一项、最后一项和公差,求该数列的和。 

输入

输入三个整数,之间用空格隔开。第1个数作为首项,第2个数作为末项,第3个数作为公差。

输出

输出占一行,包含一个整数,为该等差数列的和。

样例输入

2 11 3

样例输出

26

源代码

#include 
using namespace std;
int main()
{
    int a1,an,d;
    cin>>a1>>an>>d;
    int n = (an-a1) / d + 1;
    cout<<(n*(a1+an)) / 2;
    return 0;
}
1010: 输出字符ASCII码值的2倍 

题目描述

输入一个字符,将其对应的ASCII码值乘以2再输出 

输入

输入一个字符。

输出

字符对应的ASCII码值*2。

样例输入

A

样例输出

130

源代码

#include 
using namespace std;
int main()
{
    char c;
    cin>>c;
    int ans = c;
    cout<
1011: 虫子吃苹果

题目描述

小明买了一箱苹果共有n个,但不幸的是箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时后这箱苹果中还有多少个苹果没有被虫子吃过?

输入

输入三个整数n、x、y,分别表示一箱苹果的个数,虫子吃完一个苹果所需时间和已经过去的时间。

输出

剩余好苹果的个数。

样例输入

3 2 1

样例输出

2

源代码

#include 
#include 
using namespace std;
int main()
{
    int n,x,y;
    cin>>n>>x>>y;
    double eaten = (y*1.0) / x;
    int eat = ceil(eaten);
    cout<
1012: 三个整数的和

题目描述

求三个整数的和 

输入

输入三个整数,三个整数用空格隔开。

输出

三个整数的和。

样例输入

1234567890 1234567890 1234567890

样例输出

3703703670

源代码

#include 
using namespace std;
typedef long long ll;
int main()
{
    ll a,b,c;
    cin>>a>>b>>c;
    cout<
1013: 身份z求出生日期

题目描述

输入一个公民身份z号,输出该公民的出生年月日。

输入

公民身份z号

输出

年月日(YYYY-MM-DD

样例输入

430622197811204019

样例输出

1978-11-20

源代码

#include 
using namespace std;
int main()
{
    int year,month,day;
    scanf("%*6d%4d%2d%2d%*4d",&year,&month,&day);
    printf("%04d-%02d-%02d",year,month,day);
    return 0;
}
1014: 鸡兔同笼 

题目描述

鸡兔同笼,共有n个头,m条腿,求鸡和兔子各有多少只。 

输入

输入头数和腿数。 

输出

鸡和兔子的只数。 

样例输入

35 94

样例输出

23 12

源代码

#include 
using namespace std;
int main()
{
    int n,m;
    cin>>n>>m;
    int rab,chi;
    rab = (m - 2 * n) / 2;
    chi = n - rab;
    cout<
1015: 计算时间

题目描述

小明的家距离学校很远,小明想知道从家里出发到学校耗费了多少时间

输入

输入用空格隔开的四个整数,分别代表从家出发的时、分和到校的时、分。

输出

输出用空格隔开的两个整数,代表总共花了多少小时多少分钟。

样例输入

12 45 13 56

样例输出

1 11

源代码

#include 
using namespace std;
int main()
{
    int h1,m1,h2,m2;
    cin>>h1>>m1>>h2>>m2;
    int sum = h2 * 60 + m2 - h1 * 60 - m1;
    cout<
1016: 计算国民生产总值增长倍数 

题目描述

假如我国国民生产总值的年增长率为7%,计算10年后我国国民生产总值与现在相比增长多少百分比(倍数)。计算公式为p=(1+r)n

其中:r为年增长率,n为年数,p为与现在相比的倍数

对于求an, C语言的数学库函数中有求指数的函数pow(a, n)

输入

无,增长率与年数以赋值的方式给出

输出

p=增长倍数,结果保留两位小数,注意末尾的换行

样例输入

样例输出

p=1.97

源代码

#include 
#include 
#include 
using namespace std;
int main()
{
    double r = 0.07;
    int n = 10;
    cout<<"p="<
1017: 计算贷款还款时间 

题目描述

某人为购房,从银行贷款30万元(d),准备按月还款6000元(p),月利率为1%(r),计算还款月数(m,即多少月还清贷款)。对求得的月份取小数点后一位(四舍五入)。

计算还清贷款月数m的计算公式如下:

可以将公式改写为

C语言数学库函数中有求对数的函数log10,是求以10为底的对数,log10(p)表示logp

输入

输出

m=计算出的贷款还款月数,精确到小数点后1位,注意末尾的换行。

样例输入

样例输出

m=69.7

源代码

#include 
#include 
#include 
using namespace std;
int main()
{
    double r = 0.01;
    int d = 300000;
    int p = 6000;
    cout<<"m="<
1018: 交换变量  

题目描述

编写程序,从键盘输入两个整数给变量x和y输出x和y。

在交换x和y中的值后,再输出x和y,验证两个变量中的值是否正确的进行了交换。

输入

1 2

输出

2 1

样例输入

1 2

样例输出

2 1

源代码

#include 
using namespace std;
int main()
{
    int x,y;
    cin>>x>>y;
    swap(x,y);
    cout<
1019: 译密码(一) 

题目描述

写程序将字符串“China”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。例如,字母A后面第四个字母是E,用E代替A。因此,China应译为Glmre。

请编写一个程序,用赋初值的方法使c1, c2, c3, c4, c5这5个字符变量的值分别为'C', 'h', 'i', 'n', 'a',经过运算,使c1, c2, c3, c4, c5的值分别变为'G', 'l', 'm', 'r', 'e'

用printf函数输出这5个字符

输入

输出

Glmre,注意末尾的换行

样例输入

样例输出

Glmre

源代码

#include 
using namespace std;
int main()
{
    string s = "China";
    for(int i = 0;i < s.size();i ++ )printf("%c",s[i]+4);
    cout<
1020: 从小到大输出三个整数 

题目描述

输入三个整数,按从小到大的顺序输出这三个数。 

输入

三个整数。

输出

从小到大输出三个整数,以空格分隔。

样例输入

2 9 3

样例输出

2 3 9

源代码

#include 
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    if(a > b)swap(a,b);
    if(a > c)swap(a,c);
    if(b > c)swap(b,c);
    cout<
1021: positive, negative, or zero 

题目描述

输入一个整数,判断该数是正数、负数还是零。 

输入

一个整数

输出

该数为正数则输出“positive”,负数则输出“negative”,零则输出“zero”。

样例输入

3

样例输出

positive

源代码

#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n == 0)cout<<"zero";
    else if(n > 0)cout<<"positive";
    else if(n < 0)cout<<"negative";
    return 0;
}
1022: 龟兔赛跑

题目描述

龟兔赛跑中,已知乌龟速度为a米每秒,兔子速度为b米每秒,龟兔赛跑的赛程总长度为s米,兔子在比赛中到达终点前的某一时刻睡着了(且仅睡着这一次),耽误了t秒的时间,如果乌龟赢了输出"Turtle win",兔子赢了输出"Rabbit win",否则输出"Tie"。 

输入

输入四个用空格隔开的整数,分别代表a,b,s,t。

输出

如果乌龟赢了输出"Turtle win",兔子赢了输出"Rabbit win",否则输出"Tie"。

样例输入

3 6 12 2

样例输出

Tie

源代码

#include 
using namespace std;
int main()
{
    int a,b,s,t;
    cin>>a>>b>>s>>t;
    double rabt = (s * 1.0) / b + t;
    double turt = (s * 1.0) / a;
    if(rabt < turt)cout<<"Rabbit win";
    else if(rabt > turt)cout<<"Turtle win";
    else if(rabt == turt)cout<<"Tie"; 
    return 0;
}
1023: 一元二次方程求解 

题目描述

输入a、b、c,求一元二次方程ax2+bx+c=0的解。 

输入

三个整数a、b、c。

输出

方程ax2+bx+c=0的解(保留两位精度),a=0则输出“This is not a quadratic equation”。

样例输入

1 -2 1

样例输出

1.00

提示 

输入样例2:3 2 1    输出:-0.33+0.47i -0.33-0.47i
输入样例3:3 2 -1    输出:0.33 -1.00

源代码

#include 
#include 
#include 
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    if(a == 0)
    {
        cout<<"This is not a quadratic equation"; 
        return 0;
    }
    double delta = b * b - 4 * a * c;
    if(delta == 0)
    {
        double ans = (-b * 1.0 ) / (2 * a);
        cout< 
1024: 奇偶判断 

题目描述

输入一个整数,判断该数的奇偶性(“odd”或“even”)。 

输入

一个整数。

输出

奇数则输出“odd”,偶数则输出“even”

样例输入

7

样例输出

odd

源代码

#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n&1)cout<<"odd";
    else cout<<"even";
    return 0;
}
1025: 是否闰年 

题目描述

输入年份year,判断该年是否为闰年。 

输入

输入一个整数代表年份 

输出

若该年是闰年则输出“year is a leap year”,否则输出“year is not a leap year”。 

样例输入

2021

样例输出

2021 is not a leap year

源代码

#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    if((n % 4 == 0 && n % 100 != 0)||(n % 400 == 0))cout<
1026: 两个整数中的较大者 

题目描述

输入两个整数,输出其中的较大数 

输入

两个整数 

输出

两个整数中的较大数

样例输入

6 15

样例输出

15

源代码

#include 
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<
1027: 成绩等级 

题目描述

给定一个百分制成绩, 请根据百分制成绩输出其对应的等级。转换关系如下:90分及以上为'A',80~89为'B', 70~79为'C', 60~69为'D',60分以下为'E'。 

输入

一个百分制成绩(0~100的整数)

输出

成绩对应的等级。

样例输入

90

样例输出

A

源代码

#include 
using namespace std;
int main()
{
    int score;
    cin>>score;
    if(score >= 0 && score < 60)cout<<"E";
    else if(score >= 60 && score < 70)cout<<"D";
    else if(score >= 70 && score < 80)cout<<"C";
    else if(score >= 80 && score < 90)cout<<"B";
    else if(score >= 90)cout<<"A";
    return 0;
}
1028: 向0舍入 

题目描述

输入一个双精度浮点数,将其向0舍入到整数。向0舍入的含义是“正数向下舍入,负数向上舍入”。 

输入

输入一个双精度浮点数。

输出

该双精度浮点数向0舍入的整数。

样例输入

3.14

样例输出

3

源代码

#include 
#include 
using namespace std;
int main()
{
    double n;
    cin>>n;
    int ans = 0;
    if(n < 0)ans = ceil(n);
    else if(n > 0)ans = floor(n);
    cout<
1029: 求最大数与最小数 

题目描述

输入三个整数,输出最大数和最小数

输入

输入三个整数a、b、c。

输出

三个数中的最大数和最小数(以空格分隔)

样例输入

3 7 9

样例输出

9 3

源代码

#include 
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    cout<
1030: 四则运算 

题目描述

输入运算数和四则运算符,输出计算结果。 

输入

输入两个浮点数和一个 *** 作符。

输出

输出计算结果(精度为2)。

样例输入

2.3 5.6 +

样例输出

7.90

源代码

#include 
#include 
using namespace std;
int main()
{
    double a,b;
    char c;
    cin>>a>>b;
    getchar();
    cin>>c;
    if(c == '+')cout< 
1031: 国庆促销 

题目描述

商场国庆促销,购物500元以下无折扣;购物500元(含)以上95折;购物1000元(含)以上9折;购物3000元(含)以上85折;购物5000元(含)以上8折。根据消费金额,计算用户实际需要支付的数目 

输入

输入一个实数,表示消费金额。

输出

输出一个实数,表示用户实际需要支出的数目,保留两位小数。

样例输入

6000

样例输出

4800.00

源代码

#include 
#include 
using namespace std;
int main()
{
    double n;
    cin>>n;
    double ans = 0;
    if(n < 500)ans = n;
    else if(n >= 500 && n < 1000)ans = n * 0.95;
    else if(n >= 1000 && n < 3000)ans = n * 0.9;
    else if(n >= 3000 && n < 5000)ans = n * 0.85;
    else if(n >= 5000)ans = n * 0.8;
    cout< 
1032: 求平方根 

题目描述

从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。

要求在输入数据后先对其进行检查是否为小于1000的正数。若不是,则输出一行错误信息,信息内容为:“invalid data!”

输入

一个小于1000的正数

输出

输出数据的平方根,仅输出整数部分。注意末尾的换行。

样例输入

108.7

样例输出

10

源代码

#include 
#include 
using namespace std;
int main()
{
    double n;
    cin>>n;
    if(n >= 0 && n < 1000)
    {
        cout<
1033: 分段函数求值 

题目描述

有一个函数y=f(x)的表达式如下:

当x<1时,y=x

当1<=x<10时,y=2x-1

当x>=10时,y=3x-11

输入x的值,输出y相应的值。

末尾换行

输入

一个实数

输出

y=计算的结果,保留2位小数,注意末尾换行。

样例输入

5.1

样例输出

y=9.20

源代码

#include 
#include 
using namespace std;
int main()
{
    double x;
    cin>>x;
    double y;
    if(x < 1)y = x;
    else if(x >= 1 && x <10)y = 2 * x - 1;
    else if(x >=10)y = 3 * x - 11;
    cout<
1034: 求建筑物高度

题目描述

有4个圆塔,圆心分别为(2, 2)、(-2, 2)、(-2, -2)、(2, -2),圆半径为1,如下图所示。这4个塔的高度为10米(m),塔以外无建筑物。


现输入任一点的坐标,求该点的建筑物高度(塔外的高度为零)。 

输入

输入以圆括号括起来的两个数字,两个数字之间以逗号(,)分隔,格式如:(x,y)

如下为正确输入:

(1.5,1.9)

浮点型变量,请定义为float类型

输出

该建筑物的高度,末尾换行

样例输入

(1.8,1.9)

样例输出

10

源代码

#include 
#include 
using namespace std;
int main()
{
    double x,y;
    scanf("(%lf,%lf)",&x,&y);
    int h = 0;
    if(sqrt(pow(x-2,2))+pow(y-2,2) <= 1)h = 10;
    else if(sqrt(pow(x-2,2))+pow(y-2,-2) <= 1)h = 10;
    else if(sqrt(pow(x-2,-2))+pow(y-2,2) <= 1)h = 10;
    else if(sqrt(pow(x-2,-2))+pow(y-2,-2) <= 1)h = 10;
    cout<
1035: 字母排序 

题目描述

输入三个字母,按字母表顺序输出这三个字母。 

输入

三个字母

输出

按字母表顺序输出

样例输入

cba

样例输出

abc

源代码

#include 
using namespace std;
int main()
{
    char a,b,c;
    cin>>a>>b>>c;
    if(a > b)swap(a,b);
    if(a > c)swap(a,c);
    if(b > c)swap(b,c);
    cout<
1036: 加班费 

题目描述

编写一个计算员工收入的程序,公司按照规定工时的工资10元/小时付给每个员工160个工时的薪水,按3倍的工资率付给160个工时以外的工资。 

输入

输入员工的工时数,1个整数

输出

计算员工的收入

样例输入

20

样例输出

200

源代码

#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    int sum = 0;
    if(n >= 0 && n <= 160)sum = n * 10;
    else if(n > 160)sum = 10 * 160 + (n - 160) * 30;
    cout<
1037: 某年某月的天数

题目描述

输入x和y,输出x年y月有多少天。

输入

一行两个正整数x和y,分别表示年份和月份。x在int范围以内,y为1~12。

输出

一行一个整数,表示该年该月有多少天。

样例输入

2021 3

样例输出

31

源代码

#include 
using namespace std;
int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int b[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
    int year,month;
    cin>>year>>month;
    if((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0))
    {
        cout<
1038: 蚂蚁的位置 

题目描述

有一只蚂蚁在一个圆上爬行,圆心坐标是(0,0),半径r=4.5,任意输入蚂蚁在圆上的坐标(x,y),判断这只蚂蚁是在圆内,圆周上,还是在圆外。 

输入

两个浮点数x,y

输出

如果在圆内,输出in

如果在圆外,输出out

如果在圆上,输出on

样例输入

1.0 1.0

样例输出

in

源代码

#include 
#include 
using namespace std;
int main()
{
    double x,y;
    cin>>x>>y;
    double s = sqrt(pow(x,2)+pow(y,2));
    if(s < 4.5)cout<<"in";
    else if(s == 4.5)cout<<"on";
    else if(s > 4.5)cout<<"out";
    return 0;
}
1039: 吃水果 

题目描述

妈妈去超市买水果,她问小明想吃什么水果,现在超市只有五种水果,分别是Apple 苹果,Banana 香蕉,Cherry 樱桃,Durian 榴莲,Mango 芒果。如果小明说'A',就是想吃Apple,如果小明说'B',就是想吃Banana,如果小明说'C',就是想吃Cherry ,如果小明说'D',就是想吃Durian,如果小明随便说其它字母,妈妈就买Mango。请采用switch语句实现。  

输入

水果的英文单词首字母的大小形式

输出

水果的英文单词

样例输入

A

样例输出

Apple

源代码

#include 
using namespace std;
int main()
{
    char c;
    cin>>c;
    switch(c)
    {
        case 'A':cout<<"Apple";break;
        case 'B':cout<<"Banana";break;
        case 'C':cout<<"Cherry";break;
        case 'D':cout<<"Durian";break;
        case 'M':cout<<"Mango";break;
        default:cout<<"Mango";break;
    }
    return 0;
}
1040: 求m+(m+1)+…+n 

题目描述

求m+(m+1)+…+n。 

输入

两个正整数m和n(m<=n)

输出

m加到n的和

样例输入

1 3

样例输出

6

源代码

#include 
using namespace std;
int main()
{
    int m,n;
    cin>>m>>n;
    int sum = 0;
    for(int i = m;i <= n;i ++)sum += i;
    cout<
1041: 多用例测试 

题目描述

输入多组整数,每组数据包含两个整数a和b,对每组数据输出a+b的结果。 

输入

多组整数,每组一行,为两个以空格分隔的整数。

输出

对每组数据输出a+b的结果,每组结果占一行。

样例输入

1 2
3 4

样例输出

3
7

源代码

#include 
using namespace std;
int main()
{
    int a,b;
    while(cin>>a>>b)cout<
1042: 求使1+2+…+i>=n成立的最小整数 i 

题目描述

输入正整数n,求使1+2+…+i>=n成立的最小整数i。 

输入

一个整数n。

输出

使1+2+…+i>=n成立的最小整数i。

样例输入

123

样例输出

16

源代码

#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    int sum = 0,i;
    for(i = 1;sum < n;i ++ )sum += i;
    cout<
1043: 质数判断 

题目描述

输入正整数n,判定它是否为素数(prime,又称质数)。 

输入

一个正整数n。

输出

若n为质数则输出“Yes”,否则输出“No”。

样例输入

5

样例输出

Yes

源代码

#include 
#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n == 1)
    {
        cout<<"No";
        return 0;
    }
    int flag = 1;
    for(int i = 2;i <= sqrt(n);i ++ )
    {
        if(n % i == 0)
        {
            flag = 0;
            break;
        }
    }
    if(flag == 1)cout<<"Yes";
    else cout<<"No";
    return 0;
}
1044: 求1-2/3+3/5-4/7+5/9-6/11+…的前n项和 

题目描述

输入正整数n,求1-2/3+3/5-4/7+5/9-6/11+…的前n项和,结果保留3位小数。 

输入

一个正整数n

输出

求1-2/3+3/5-4/7+5/9-6/11+...的前n项和。

样例输入

100

样例输出

0.391

源代码

#include 
#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    double sum = 0;
    int flag = 1;
    for(int i = 1;i <= n;i ++ )
    {
        double item = (i * 1.0) / (2 * i - 1) * flag;
        sum += item;
        flag = - flag;
    }
    cout<
1045: 质数判断(使用break语句) 

题目描述

输入正整数n,判定它是否为素数(prime,又称质数)。 

输入

一个正整数n。

输出

若n为质数则输出“Yes”,否则输出“No”

样例输入

7

样例输出

Yes

源代码

#include 
#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n == 1)
    {
        cout<<"No";
        return 0;
    }
    int flag = 1;
    for(int i = 2;i <= sqrt(n);i ++ )
    {
        if(n % i == 0)
        {
            flag = 0;
            break;
        }
    }
    if(flag == 1)cout<<"Yes";
    else cout<<"No";
    return 0;
}
1046: 输出a到b之间的不能被3整除的整数 

题目描述

输出a到b之间的不能被3整除的整数。 

输入

两个正整数a、b。

输出

a到b之间的不能被3整除的整数,以空格分隔。

样例输入

1 10

样例输出

1 2 4 5 7 8 10

源代码

#include 
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    for(int i = a;i <= b;i ++ )
    {
        if(i % 3 != 0)cout<
1047: 百文买百鸡 

题目描述

公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只,用m文钱买m只鸡,公鸡、母鸡、小鸡各买多少只? 

输入

正整数m。

输出

只输出一个解,即公鸡数量最少的那个解(输出公鸡、母鸡和小鸡的只数,以空格隔开)。

样例输入

100

样例输出

0 25 75

源代码

#include 
using namespace std;
int main()
{
    int m;
    cin >> m;
    for(int i = 0;i <= m / 5;i ++ )
    {
        for(int j = 0;j <= m / 3;j ++ )
        {
            int k = m - i - j;
            if(i * 15 + j * 9 + k == m * 3)
            {
                cout<
1048: 求a到b之间存在多少个素数 

题目描述

求a到b之间存在多少个素数。 

输入

两个正整数a、b。

输出

a到b之间的全部素数的个数。

样例输入

100 200

样例输出

21

源代码

#include 
#include 
using namespace std;
bool judge(int n)
{
    if(n == 1)return false;
    for(int i = 2;i <= sqrt(n);i ++ )
    {
        if(n % i == 0)return false;
    }
    return true;
}
int main()
{
    int a,b;
    cin >> a >> b;
    int sum = 0;
    for(int i = a;i <= b;i ++ )
    {
        if(judge(i))sum++;
    }
    cout<
1049: 百文买百鸡(增加无解输出) 

题目描述

公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只,用m文钱买m只鸡,公鸡、母鸡、小鸡各买多少只? 

输入

一个正整数m。

输出

若有解只输出一个解,即公鸡数量最少的那个解;若无解输出“No answer”。

样例输入

100

样例输出

0 25 75

源代码

#include 
using namespace std;
int main()
{
    int m;
    cin >> m;
    for(int i = 0;i <= m / 5;i ++ )
    {
        for(int j = 0;j <= m / 3;j ++ )
        {
            int k = m - i - j;
            if(i * 15 + j * 9 + k == m * 3)
            {
                cout<
1050: 正整数的位数(while实现)  

题目描述

输入一个正整数,输出其位数(用while语句实现)。 

输入

一个正整数。

输出

正整数的位数。

样例输入

123

样例输出

3

源代码

#include 
using namespace std;
int main()
{
    int n;
    cin>>n;
    int ans = 0;
    while(n > 0)
    {
        n /= 10;
        ans ++;
    }
    cout<

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1498774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-25
下一篇 2022-06-25

发表评论

登录后才能评论

评论列表(0条)