2201_75855157 2022-12-14 17:28 采纳率: 0%
浏览 100
已结题

关于#c++#的问题,如何解决?

img


用红色圈圈内的方法将这个question做出来,我不会,来问问你们,看看你们的想法

  • 写回答

3条回答 默认 最新

  • Minuw 2022-12-14 17:59
    关注
    
    #include<stdio.h>
    #include <stdlib.h>
    int main()
    {
        //将题目中所给数据储存到数组之中,因为所给范围为90°-180°,故抛物线插值法只适用于计算90°-180°范围内的修正系数 
        float a[16]={90.0,100.0,110.0,120.0,125.0,130.0,135.0,140.0,145.0,150.0,155.0,160.0,165.0,170.0,175.0,180.0};
        float k[16]={0.59,0.74,0.78,0.82,0.84,0.86,0.88,0.89,0.91,0.92,0.93,0.95,0.96,0.98,0.99,1.00};
        float x,y;//x表示输入的包角,y为输出的要计算的修正系数。 
        float y1,y2,y3; //分别表示抛物线插值公式中的三项,最后的y=y1+y2+y3。
        int n;
        int flag=0;
        printf("您想要查询的包角个数为:");
        scanf("%d",&n);
        int j=1;
        while(n--)
        {
            printf("请输入第%d个包角的大小x:",j);
            scanf("%f",&x);//输入 
            int i;
            for(i=0;i<16;i++)
            {
                if(x<a[0]||x>a[15])//如果输入的数据越界,则报错。 
                    flag=1;
                if(x<a[i])
                {
                    if(i>1)
                    {
                        if(x-a[i-1]<a[i]-x)//判断x是靠近a[i-1]还是a[i]。如果靠近 a[i-1],则i=i-1。若靠近 a[i],i=i。 
                        {
                            i--;
                        }
                    }
                    break;
                }
                if(i>15)
                {
                    i=15;
                }
            }
            j++;
            //抛物线插值公式核心部分    
            y1=((x-a[i])*(x-a[i+1])*k[i-1])/((a[i-1]-a[i])*(a[i-1]-a[i+1]));//公式第一项 
            y2=((x-a[i-1])*(x-a[i+1])*k[i])/((a[i]-a[i-1])*(a[i]-a[i+1]));//公式第二项 
            y3=((x-a[i-1])*(x-a[i])*k[i+1])/((a[i+1]-a[i-1])*(a[i+1]-a[i]));//公式第三项 
            y=y1+y2+y3;//最后的预测值为三项相加    
            if(flag==0)
                printf("包角影响系数为:%.3f\n",y);//保留小数点后三位 
            else
                printf("对不起,您所输入的角度不在90°—180°范围内\n");    
        } 
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月14日
  • 赞助了问题酬金15元 12月14日
  • 赞助了问题酬金15元 12月14日
  • 创建了问题 12月14日