用C语言画对勾函数图像

刚学习C语言没多久,希望各位大神帮帮忙!
由用户输入字符串str,str的格式为“ax + b/x”,其a和b为对号函的系数,取值范围是1一16之间的整数,需要设计程序实现以下功能.
1.绘制str代表的对勾函数曲线。
2.曲线的采样点用"*"表示。
示例:如果用户输入的str为“1x + 1/x",那么需要绘制函数y = x + 1/x的函数曲线。输出的曲线要尽量究整、美观。

1个回答

如果问题得到解决,请点下采纳

#include <stdio.h>

int main()
{
    int a, b;
    int arr[40];
    int flag[40];
    scanf("%dx + %d/x", &a, &b);
    for (int i = 0; i < 40; i++)
    {
        float x = i / 5.0f + 0.001f;
        arr[i] = (int)(a * x + b / x);
        flag[i] = 0;
    }
    for (int i = 20; i >= 0; i--)
    {
        for (int j = 2; j < 40; j++)
        {
            if (arr[j] > i && !flag[j])
            {
                flag[j] = 1;
                printf("*");
            }
            else
                printf(" ");
        }
        printf("\n");
    }
    return 0;
}

图片说明

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Liewenlong: 我的意思是对于对勾来说,其它范围没有意义。好比做一个自行车码表,时速100以上没有意义,不是说100以上的速度没有意义,飞机还能飞1000呢,而是对自行车来说没有意义
5 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Liewenlong: 你不是要画一个"对勾"么。
5 个月之前 回复
weixin_46538574
Liewenlong 回复每个人都有一个梦才不会孤单的说话就有天堂: 对勾函数图像在第三象限为啥就就没意义了?
5 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Liewenlong: for循环就是依次找每个y方向上,画每个x的位置
5 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Liewenlong: x<0的时候,图像在第三象限,没有意义
5 个月之前 回复
weixin_46538574
Liewenlong 可否讲解一下那两个for循环的作用
5 个月之前 回复
weixin_46538574
Liewenlong 感谢您的帮助,我想请问一下原理是什么,以及x<0时如何绘制。
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问