6.实数运算

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double a,b,d;
    cin>>a>>b;
    char c;
    cin>>c;
    if(c=='+')
    {
        d=a+b;
        cout<<fixed<<setprecision(1)<<d;
    }
    else if(c=='-')
    {
        d=a-b;
        cout<<fixed<<setprecision(1)<<d;        
    }
    else if(c=='*')
    {
        d=a*b;
        cout<<fixed<<setprecision(1)<<d;            
    }
    else 
    {
        if(b!=0)
        {
            d=a/b;
            cout<<fixed<<setprecision(1)<<d;        
         } 
         else
             cout<<"Wrong!";
    }
    return 0;
}

一般要保留小数的题目,初始尽量设成double,以防出现精度问题、

7.解二次方程

#include<bits/stdc++.h>
using namespace std;
int main()
{
    float a,b,c;
    cin>>a>>b>>c;
    float x1,x2;
    x1=((-b+sqrt(b*b-4*a*c))/(2*a));
    x2=((-b-sqrt(b*b-4*a*c))/(2*a));
    if(x1>x2)
        cout<<fixed<<setprecision(2)<<x1<<" "<<x2;
    else
        cout<<fixed<<setprecision(2)<<x1<<" "<<x2;
    return 0;
}

sqrt()函数忘记了,还有就是2*a,一开始忘记加括号了

8.门票价格计算

#include<bits/stdc++.h>
using namespace std;
int main()
{
    float num;
    cin>>num;
    if(num>120)
        cout<<fixed<<setprecision(2)<<num*5*0.7;
    else if(num>80)
        cout<<fixed<<setprecision(2)<<num*5*0.8;
    else if(num>40)
        cout<<fixed<<setprecision(2)<<num*5*0.85; 
    else if(num>20)
        cout<<fixed<<setprecision(2)<<num*5*0.9;
    else
        cout<<fixed<<setprecision(2)<<num*5;  
    return 0;
}

要保留小数,参与运算的一定是小数,如果两个整形运算,保留不了

9.星期几问题

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int num;
    cin>>num;
    switch(num){
        case 0:cout<<"Sunday";break;
        case 1:cout<<"Monday";break;
        case 2:cout<<"Tuesday";break;
        case 3:cout<<"Wednesday";break;
        case 4:cout<<"Thursday";break;
        case 5:cout<<"Friday";break;
        case 6:cout<<"Saturday";break;
    }
    return 0;
 } 

case后面还能跟if,else的语句

10.时间相加 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int AH,AM,AS,BH,BM,BS;
    cin>>AH>>AM>>AS>>BH>>BM>>BS;
    int newH,newM,newS;
    if(AS+BS>=60)
        {
            newS=AS+BS-60;
            newM=AM+BM+1;
            if(newM>=60)
            {
                newM=newM-60;
                newH=AH+BH+1;
            }
            else{
                newH=AH+BH;
            }
        }
    else{
        newS=AS+BS;
        newM=AM+BM;
        if(newM>=60)
        {
            newM=newM-60;
            newH=AH+BH+1;            
        }
        else{
            newH=AH+BH;
        }
    }
    cout<<newH<<" "<<newM<<" "<<newS;
    return 0;
}

逻辑应该从秒往小时推,如果两边的秒加起来大于等于60.那么分钟应该进1,进不了2,因为秒最多是59+59,到不了120  所以先分两种情况1.两边的秒加起来大于等于60   2.两边的秒加起来小于60 。在两个情况下,分别研究分钟加起来后,是否会导致小时进1或不进1.

以第一种情况为例,如果两边的秒加起来大于等于60.那么分钟应该进1,所以news(也就是新的秒)=AS+BS-60,同理newM=AM+BM+1;在此情况下,判断newM是否大于等于60,从而判断小时需不需要进1,    例如if(newM>=60)
            {
                newM=newM-60;
                newH=AH+BH+1;
            }

翻译

人工智能领域的许多研究都可以被归结为构建代理( agent)这一范畴,即代理的致动器所采取的行动必须是对通过其传感器接收到的数据进行理性响应的结果。相应地,我们可以通过考虑这些响应的不同层次来对这种研究进行分类。
最简单的回应是一种反射性行为,这仅仅是针对
对    输入数据的一种预先设定的反应。要获得更"智能    
"的行为,需要更高层次的回应。例如,我们可能
反    会赋予一个代理对环境知识的了解,并要求代理据    
此调整其行动。投棒球的过程在很大程度上是一种反射性行为,但确定往何处投球则需要对当前环境的了解。如何将此类现实世界的知识存储,更新,访问并最终应用于决策过程,这仍然是人工智能领域的一个挑战性问题。
如果我们要让代理寻求一个目标,比如赢得一盘棋或在拥挤的通道中穿行,就需要另一个层次的响应。这种目标导向的行为要求代理的响应(或一系列响应)是有意制定行动方案或在当前选项中选择最佳行动的结果

O

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐