《c++程序设计》课程设计论文

本文展示了多个C++编程问题的解决方案,包括根据整数判断等级、求奇数乘积、有序数列插入、时间进制转换、求幂次后三位、判断亲和数、菲波那契数列、数字乘积求和、绝对值排序、斐波那契步数、两数和乘积问题、夹角计算、号码处理、进制转换以及分数均值计算。解题思路涉及条件语句、循环语句、数学运算及数组操作,难度逐渐提升,适合C++初学者和进阶学习者。

Problem 1

1. 题意:将输入的整数转化为相应等级。

2. 解题思路:通过题意可知,此题采用的是条件语句。

3. 代码

#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

    int n;

    while(cin>>n)

    {

        if(n>=90 && n<=100)

        cout<<"A"<<endl;

        else if(n>=80 && n<=89)

        cout<<"B"<<endl;

        else if(n>=70 && n<=79)

        cout<<"C"<<endl;

        else if(n>=60 && n<=69)

        cout<<"D"<<endl;

        else if(n>=0 && n<=59)

        cout<<"E"<<endl;

        else

        cout<<"Score is error!"<<endl;

    }

    return 0;

}

4. 总结:此题难度不大,主要就是注意使用while多组输入,其次就是输出时用双引号将输出内容括起。

 

Problem 2

1. 题意:求出n个整数中所有奇数的乘积

2. 解题思路:首先,n个整数的输入需要用到for循环语句,其次,用if语句判断是否为奇数。

3. 代码

#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

    int n,m,i,s;

    while(cin>>n)

    {

        s=1;

        for(i=1;i<=n;i++)

        {

            cin>>m;

            if(m%2!=0)

            s*=m;

        }

        cout<<s<<endl;   

    }

    return 0;

}

4. 总结:此题难度不大,为简单的条件语句和循环语句的混合使用。

 

Problem 3

1. 题意:在一个按顺序排列的数列中插入一个整数,并保证新的数列依然有序。

2. 解题思路:输入一个有序数列,从a[1]到a[n],将要插入的整数赋值给a[n+1],组合成一个新数列,然后将新数列通过sort函数重新排列。

3. 代码

#include<iostream>

#include<algorithm>

int a[110];

using namespace std;

int main()

{

    int n,m,i;

    while(cin>>n>>m)

    {

        if(n==0&&m==0) break;

        for(i=0;i<n;i++)

        {

           cin>>a[i];

        }

        a[n]=m;

        sort(a,a+n+1);

        for(i=0;i<n;i++)

        cout<<a[i]<<" ";

        cout<<a[n]<<endl;

    }

    return 0;

}

4. 总结:首先通过while语句实现多组数据的输入,其次要注意新旧数列输入时的变量i的范围,最后,注意输出时的空格。

 

 

Problem 4

1. 题意:A,B分别包含着代表时分秒的三个整数,将其输入,并将A,B中代表时分秒的数的和分别求出,并按照时间的进制规则将其输出。

2. 解题思路:用循环语句将A,B中的数输入,按照时间单位的进制规则用if条件语句列清需要注意的进位条件。

3. 代码

#include<iostream>

using namespace std;

int main()

{

    int N,i;

    long int AH,AM,AS,BH,BM,BS,SH,SM,SS;

    while(cin>>N)

    {

        SH,SM,SS=0;

        for(i=1;i<=N;i++)

        {

            cin>>AH>>AM>>AS>>BH>>BM>>BS;

            SH=AH+BH;

            SM=AM+BM;

            SS=AS+BS;

    &nbs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值