PTA:2021年春 - C理论-编程2-选择结构基本信息

7-1 计算符号函数的值

#include<stdio.h>
int sign(int n){
    if(n<0) return -1;
    else if(n==0) return 0;
    else if(n>0) return 1;
}
int main()
{
    int n;
    scanf("%d",&n);
    printf("sign(%d) = %d",n,sign(n));
    return 0;
}

7-2 A除以B

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    if(b==0) printf("%d/%d=Error",a,b);
    else if(b<0) printf("%d/(%d)=%.2lf",a,b,(double)(a)/(double)(b));
    else printf("%d/%d=%.2lf",a,b,(double)(a)/(double)(b));
    return 0;
}

7-3 12-24小时制

#include<stdio.h>
int main()
{
    int hour,min;
    scanf("%d:%d",&hour,&min);
    if(hour>12&&hour<24) printf("%d:%d PM",hour-12,min);
    else if(hour==24) printf("%d:%d AM",0,min);
    else if(hour==12) printf("%d:%d PM",hour,min);
    else printf("%d:%d AM",hour,min);
    return 0;
}

7-4 后天

#include<stdio.h>
int main()
{
    int day;
    scanf("%d",&day);
    int day_after_day=(day+2)%7;
    if(day_after_day==0) printf("%d",7);
    else printf("%d",day_after_day);
    return 0;
}

7-5 阶梯电价

#include<stdio.h>
int main()
{
    double n;
    scanf("%lf",&n);
    if(n<0) printf("Invalid Value!");
    else if(n<=50) printf("cost = %.2lf",0.53*n);
    else printf("cost = %.2lf",0.53*n+0.05*(n-50));
    return 0;
}

7-6 计算工资

#include<stdio.h>
int main()
{
    int year,time;
    scanf("%d %d",&year,&time);
    if(year<5){
        if(time>40) printf("%.2lf",30.0*40+1.5*30*(time-40));
        else printf("%.2lf",30.0*time);
    }
    else{
        if(time>40) printf("%.2lf",50.0*40+1.5*50*(time-40));
        else printf("%.2lf",50.0*time);
    }
    return 0;
}

7-7 出租车计价

#include<stdio.h>
int main()
{
    double km;
    int time;
    scanf("%lf %d",&km,&time);
    double cost=0.0;
    if(km<=3) cost+=10.0;
    else if(km>3&&km<=10) cost+=10.0+2.0*(km-3.0);
    else if(km>10) cost+=10.0+2.0*7.0+3.0*(km-10.0);
    cost+=2.0*(int)(time/5);
    int upper=0;
    if((int)(cost*10)%10<5) upper=1;
    else if((int)(cost*10)%10>=5) upper=2;
    if(upper==1) printf("%d",(int)(cost));
    else if(upper==2) printf("%d",(int)(cost)+1);
    return 0;
}

7-8 成绩转换

#include<stdio.h>
int main()
{
    int grade;
    scanf("%d",&grade);
    if(grade>=90) printf("%c",'A');
    else if(grade>=80&&grade<90) printf("%c",'B');
    else if(grade>=70&&grade<80) printf("%c",'C');
    else if(grade>=60&&grade<70) printf("%c",'D');
    else printf("%c",'E');
    return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1 double gauss_ch1(double(*f)(double), int n);求积分∫_(-1)^1 f(x)dx/√(1-x^2 ) 实现n点Gauss-Chebyeshev积分公式;返回积分的近似值。 在区间[-1,1]上关于权函数1/√(1-x^2 )的正交多项为T_n (x)=cos(narccos(x)),T_n (x)在[-1,1]上的n个根是x_k=cos⁡((2k-1)/2n π),k=1,…,n. n点Gauss-Chebyeshev积分公式为∫_(-1)^1 f(x)dx/√(1-x^2 )≈π/n ∑_(k=1)^n f(cos⁡((2k-1)/2n π)) 1.2 double gauss_ch2(double(*f)(double), int n); 求积分∫_(-1)^1 √(1-x^2 ) f(x)dx 实现n点Gauss-Chebyeshev II型积分公式;返回积分的近似值。 在区间[-1,1]上关于权函数√(1-x^2 )的正交多项为U_n (x)=sin⁡((n+1)arccos⁡(x))/sin⁡(arccos⁡(x)) ,U_n (x)在[-1,1]上的n个根是x_k=cos⁡(kπ/(n+1)),k=1,…,n. n点Gauss-Chebyeshev II型积分公式为 ∫_(-1)^1 √(1-x^2 ) f(x)dx≈π/(n+1) ∑_(k=1)^n sin^2 (kπ/(n+1))f(cos⁡(kπ/(n+1))) 1.3 double comp_trep(double (*f)(double), double a, double b);求积分∫_a^b f(x)dx 函数实现逐次减半法复化梯形公式;返回积分的近似值。 1.4 double romberg(double (*f)(double), double a, double b); 求积分∫_a^b f(x)dx 函数实现Romberg积分法;返回积分的近似值。 1.5 double gauss_leg_9(double (*f));求积分∫_(-1)^1 f(x)dx 实现9点Gauss-Legendre求积公式。 使用上面实现的各种求积方法求下面的积分:∫_(-1)^1 e^x √(1-x^2 ) dx (=∫_(-1)^1 (xe^x)/√(1-x^2 ) dx) 使用第3,4,5个函数求积分:∫_0^(π/2) sin⁡x dx (=1)
完整全套资源下载地址:https://download.csdn.net/download/qq_27595745/71930196 【完整课程列表】 PPT教程\完整版 中南大学 MATLAB与科学计算教程 01-绪论(共46页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 02-MATLAB基础知识_数值计算 符号计算(共170页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 03-MATLAB基础知识_图形设计 程序设计(共135页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 04-插值法(共81页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 05-函数逼近与拟合法(共99页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 06-数值积分与微分(共116页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 07-常微分方程数值解法(共68页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 08-非线性方程求根(共79页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 09-解线性方程组的直接解法(共59页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 10-解线性方程组的迭代法(共41页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 11-simulink和偏微分 特征值法概率统计最优化问题(共48页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 11-概率统计函数问题(共118页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 12-simulink和偏微分pdetool(共65页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 12-实例和讲解(共44页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 matlab期中复习(共143页).ppt PPT教程\完整版 中南大学 MATLAB与科学计算教程 总复习(共277页).ppt 实验\Data.txt 实验\MATLAB程序设计实践2015.pdf 实验\实验1-基础知识.ppt 实验\实验2-数值处理.ppt 实验\实验3-模型求解.ppt 考试\matlab期末考试样题 2015.doc 考试\Matlab与科学计算样题.doc 考试\操作题集.doc 考试\期中考试样题.doc 考试\作业题.docx matlab与科学计算(2nd).pdf 数值分析(李庆扬、王能超、易大义)(超清晰版).pdf

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值