1408201651-hd-GPA.cpp

本文介绍了一个简单的GPA计算器程序,能够处理一系列大写字母形式的成绩,并计算出平均GPA。如果输入包含不属于标准成绩等级的字母,则会输出错误信息。

GPA

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 3341 Accepted Submission(s): 1354

 
Problem Description
Each course grade is one of the following five letters: A, B, C, D, and F. (Note that there is no grade E.) The grade A indicates superior achievement , whereas F stands for failure. In order to calculate the GPA, the letter grades A, B, C, D, and F are assigned the following grade points, respectively: 4, 3, 2, 1, and 0.
 
Input
The input file will contain data for one or more test cases, one test case per line. On each line there will be one or more upper case letters, separated by blank spaces.
 
Output
Each line of input will result in exactly one line of output. If all upper case letters on a particular line of input came from the set {A, B, C, D, F} then the output will consist of the GPA, displayed with a precision of two decimal places. Otherwise, the message "Unknown letter grade in input" will be printed.
 
Sample Input
A B C D F
B F F C C A
D C E F
 
Sample Output
2.00
1.83
Unknown letter grade in input
 

题目大意

      给你一系列大写字母代表学生的成绩。A=4,B=3,C=2,D=1,F=0。输出该学生的平均分数,若出现不属于{'A','B','C','D','F'}的大写字母,则输出Unknown letter grade in input。

 

错误原因

       一开始以为除了那五个大写字母之外,会出现的只有'E',这才导致了错误。

 

解题思路

       因为不确定给出你的大写字母的次数,所以你只能用gets()输入一串字符串。然后在对' '(空格)另外考虑。

 

代码

<span style="font-size:18px;">#include<stdio.h>
#include<string.h>
char s[1000];
int in(char a)
{
    if(a=='A')
        return 4;
    else if(a=='B')
        return 3;
    else if(a=='C')
        return 2;
    else if(a=='D')
        return 1;
    else if(a=='F')
        return 0;
    else if(a==' ')
        return 5;
    else
        return -1;
    //输入的只有空格和大写字母(A、B、C、D、E、F、G、H...) 
}
int main()
{
    int i,j,k,l,sum;
    int len;
    while(gets(s)!=NULL)
    {
        len=strlen(s);
        sum=0;
        k=0;
        l=0;
        for(i=0;i<len;i++)
        {
            j=in(s[i]);
            if(j>-1&&j<5)
            {
                sum+=j;
                l++;
            }
            else if(j==-1)
            {
                k=1;
                break;
            }
        }
        if(k==1)
            printf("Unknown letter grade in input\n");
        else
            printf("%.2lf\n",sum/(l*1.0));
    }
    return 0;
}
</span>


 

基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构与权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络与滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度与鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析与仿真验证相结合。
在使用FLAC3D进行锚杆或锚索模拟时,合理设置电缆属性参数对于模拟结果的准确性至关重要。以下是一些常见参数的设置范围及建议,供参考: ### 材料参数设置建议 1. **弹性模量 (Young's Modulus, `young modulus`)** 弹性模量是材料抵抗拉伸变形能力的一个度量。对于锚杆或锚索,其弹性模量通常在 $ 200 \, \text{GPa} $ 到 $ 210 \, \text{GPa} $ 之间,具体取决于钢材的类型。若锚杆为非钢材料(如玻璃纤维或碳纤维),则需根据实际材料数据调整[^1]。 2. **屈服拉力 (Yield Tension, `yield tension`)** 屈服拉力是指锚杆或锚索在发生塑性变形前能承受的最大拉力。对于常见的钢制锚杆,其屈服强度通常在 $ 400 \, \text{MPa} $ 至 $ 600 \, \text{MPa} $ 之间,因此屈服拉力可结合截面积进行计算。例如,若锚杆截面积为 $ 500 \, \text{mm}^2 $,则屈服拉力约为 $ 200 \, \text{kN} $ 至 $ 300 \, \text{kN} $ [^1]。 3. **截面积 (Cross-sectional Area, `cross-sectional area`)** 锚杆或锚索的截面积直接影响其承载能力。通常,锚杆的直径在 $ 16 \, \text{mm} $ 至 $ 32 \, \text{mm} $ 之间,对应的截面积约为 $ 200 \, \text{mm}^2 $ 至 $ 800 \, \text{mm}^2 $。对于锚索,由于其由多股钢绞线组成,截面积会更大,一般在 $ 1000 \, \text{mm}^2 $ 以上 [^1]。 4. **注浆刚度 (Grout Stiffness, `grout stiffness`)** 注浆刚度反映了锚杆与周围岩土体之间的相互作用强度。通常,注浆刚度的取值范围在 $ 100 \, \text{MN/m} $ 至 $ 1000 \, \text{MN/m} $ 之间,具体数值需根据注浆材料和地质条件确定 [^1]。 5. **注浆粘聚力 (Cohesion, `cohesion`)** 注浆粘聚力用于描述锚杆与岩土体之间的粘结强度。通常,注浆粘聚力的取值范围在 $ 0.1 \, \text{MPa} $ 至 $ 1.0 \, \text{MPa} $ 之间,具体数值取决于注浆材料和岩土体的性质 [^1]。 ### 示例代码 以下是一个FLAC3D中设置锚杆属性的示例代码片段: ```fish ; 定义锚杆属性 zone cable create by-line 0 0 0 10 0 0 segments 10 zone cable property young 210e9 yield-tension 250e3 cross-sectional-area 500e-6 ... grout-stiffness 500e6 cohesion 0.5e6 ``` ### 注意事项 - 参数的单位需与模型中的单位系统保持一致。 - 实际工程中应结合实验室试验或现场测试数据进行参数校准。 - 对于复杂地质条件,建议采用非线性本构模型以更准确地模拟锚杆或锚索的行为 [^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值