1. 程式人生 > >NOI題解(1.12程式設計基礎之函式與過程抽象)(待補全)

NOI題解(1.12程式設計基礎之函式與過程抽象)(待補全)

01:簡單算術表示式求值

#include <cstdlib>
#include <iostream>
#include <stdlib.h>
using namespace std;

int main(int argc, char *argv[])
{
    string str;
    getline(cin,str);
    int pos;
    for(int i=0;i<str.length();i++)
    {
        if(str.at(i)=='+'||str.at(i)=='-'||str.at(i)=='*'||str.at(i)=='/'||str.at(i)=='%')
            pos=i;
    }
    //cout<<pos;
    string substr1,substr2;
    substr1=str.substr(0,pos);
    substr2=str.substr(pos+1,str.length()-pos+1);
    int a=atoi(substr1.c_str());//int atoi(const char *nptr);
    int b=atoi(substr2.c_str());
    //cout<<substr1<<" "<<substr2<<endl;
    switch(str.at(pos))
    {
        case '+':cout<<a+b;break;
        case '-':cout<<a-b;break;
        case '*':cout<<a*b;break;
        case '/':cout<<a/b;break;
        case '%':cout<<a%b;break;
        default:cout<<"wrong input";              
    }        
    return 0;
}

02:簡訊計費

#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;

int main(int argc, char *argv[])
{
    int count;
    cin>>count;
    float num,sum=0;
    for(int i=0;i<count;i++)
    {
        cin>>num;
        sum+=ceil(num/(float)70)*0.1;
    }
    cout<<sum;
    return 0;
}

03:甲流病人初篩

#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;

int main(int argc, char *argv[])
{
    int count;
    cin>>count;
    string name;
    float degree;
    int flag;
    int sum=0;
    for(int i=0;i<count;i++)
    {
       cin>>name>>degree>>flag;   
       if(flag&°ree>=37.5)
       {
           cout<<name<<endl;
           sum++;
       }  
    }
    cout<<sum;
    return 0;
}

04:最匹配的矩陣(這道題我自己WA了一下午,下次緩緩再做)