牵风 发表于 2021-10-23 13:39:38

怎样连续输入输出(函数和我打的一样)

输入一个整数n,表示后面总共要输入n组测试数据;
然后输入n组测试数据,每组测试数据是一个双精度浮点数x。
输出
根据输入的n组测试数据,对应输出n个输出结果,每个输出结果单独占一行,即每个输出结果后要加换行符
#include <stdio.h>
#include <math.h>
int main()
{
        double x,y;
        int i;
   while(scanf("%lf",&x)!=EOF)
   {
        if(x<0)
        {
                x=abs(x);
                y=x/2;
        }
        else if(x>=0&&x<=10)
        {
                y=3+exp(x);
        }
        else if(x>=10&&x<20)
        {
                y=log10(x);
        }
        else if(x>=20&&x<30)
        {
                y=pow(x,1.5);
        }
        else if(x>=30&&x<50)
        {
                y=pow(x,0.5)-1;
        }
        else
        {
                y=3*cos(x);
        }
        printf("y=%lf",y);       
    }
        return 0;
}

傻眼貓咪 发表于 2021-10-23 15:05:18

{:10_277:}

jackz007 发表于 2021-10-23 15:06:30

#include <stdio.h>
#include <math.h>

int main()
{
      int i , n                                                                   ;
      printf("enter data number : ")                                              ;
      scanf("%d" , & n)                                                         ;
      if(n > 0) {
                double x , y                                                ;
                for(i = 0 ; i < n ; i ++) {
                        printf("enter x(%d) : " , i + 1)                            ;
                        scanf("%lf" , & x)                                       ;
                }
                for(i = 0 ; i < n ; i ++) {
                        if(x < 0)y = abs(x) / 2                        ;
                        else if(x >= 0 && x < 10) y = 3 + exp(x)      ;
                        else if(x >= 10 && x < 20) y = log10(x)         ;
                        else if(x >= 20 && x < 30) y = pow(x , 1.5)   ;
                        else if(x >= 30 && x < 50) y = pow(x , 0.5) - 1 ;
                        else y = 3 * cos(x)                                 ;
                }
                for(i = 0 ; i < n ; i ++) printf("%3d : x = %lf , y = %lf\n" , i + 1 , x , y) ;
      }
}
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
enter data number : 6
enter x(1) : -5
enter x(2) : 5
enter x(3) : 15
enter x(4) : 25
enter x(5) : 35
enter x(6) : 45
1 : x = -5.000000 , y = 2.500000
2 : x = 5.000000 , y = 151.413159
3 : x = 15.000000 , y = 1.176091
4 : x = 25.000000 , y = 125.000000
5 : x = 35.000000 , y = 4.916080
6 : x = 45.000000 , y = 5.708204

D:\00.Excise\C>
页: [1]
查看完整版本: 怎样连续输入输出(函数和我打的一样)