精华内容
下载资源
问答
  • 请修正程序中的错误,运行结果:输入4之后,结果是什么?程序如下:\*该文件完成后以st_b2.c的文件名保存在考生文件夹下*\#includemain(){float y;int m;printf(“请输入0~5之间的数:”);scanf(“%f”,&x);m=...

    12f8a949c7a164eb8ca27db5af313f91.png

    请修正程序中的错误,并运行结果:输入4之后,结果是什么?

    程序如下:

    \*该文件完成后以st_b2.c的文件名保存在考生文件夹下*\

    #include

    main()

    {

    float y;

    int m;

    printf(“请输入0~5之间的数:”);

    scanf(“%f”,&x);

    m=floor(x);

    switch(m)

    {

    case 0:y=0;break;

    case 1:y=

    case 2:y=2*cos(x)-1;break;

    case 3:y=

    case 4:y=log10(x-2*x);break;

    default: printf(“数据输入错误!\n”);

    }

    printf(“y=%d\n”,y);

    }

    一、源代码的错误

    (1)main() //没有返回值类型

    (2)float y;  //变量y没有初值

    (3)scanf(“%f”,&x);  //变量x没有定义,应为double x

    (4)scanf(“%f”,&x);  //变量x必须为double类型,应为%lf

    (5)m=floor(x) ;  //缺少#include头文件

    (6)case 1:y=  //语法错误,代码不完整

    (7)case 2:y=2*cos(x)-1;break;  //公式不匹配错误,代码编写错误

    (8)case 3:y=  //语法错误,代码不完整

    (9)case 4:y=log10(x-2*x);break;  //公式不正确,log10和log是不同的

    (10)printf(“y=%d\n”,y);  //输入数据类型错误

    (11)闪退问题 //使用#include和system("pause");

    二、完整代码

    #include "stdafx.h"

    #include

    #include

    #include

    void main()

    {

    float y=-1;

    int m;

    double x;  //floor(x)中实参必须为double类型

    printf("请输入0~5之间的数:");

    scanf("%lf",&x);

    m=floor(x);  //floor(x)返回不大于x的最大整数值(返回值为浮点型)

    switch(m)

    {

    case 0:y=0;break;

    case 1:y=3*x+5;break;

    case 2:y=2*sin(x-1);break;

    case 3:y=log(1+pow(x,2));break;  // ln(x) 在C中是log(x)

    case 4:y=log(pow(x,2)-2*x);break;  //log10()与log()不同

    default: printf("数据输入错误!\n");

    }

    if(y!=-1)

    {

    printf("y=%lf\n",y);

    }

    system("pause");

    }

    三、测试用例

    序号                           输入情况                                    输入数据 输出

    (1)                        输入非数字字符                          abc测试            数据输入错误!

    (2)                         输入边界值 -1                                  -1                   数据输入错误!

    (3)                         输入边界值 0 0 y=0.000000

    (4)                         输入边界值 5                           5                         数据输入错误!

    (5)                         输入边界值4.5                           4.5 y=2.420368

    (6)                         输入1-5之间的值 3.2                 2 y=2.430838

    (7)                        题目要求测试数据4                   4                             y=2.079442

    四、运行结果

    1输入非数字字符

    47168e476b232c77cc3a7949dee86699.png

    2输入边界值-1

    2bb93260ed7e823e284c2de1729c2138.png

    3输入边界值0

    73eec6c213fe125cf270ade0d9756fa8.png

    4输入边界值5

    d89094947dd40190e7800979b75e3caf.png

    5.输入边界值4.5

    a98ab7776f20d555bf17df5ea1495f2f.png

    6.输入1-5之间的值3.22

    cc4f25abb241729ebb2cd0a8cdaa8375.png

    7.题目要求测试数据4

    76ba146f64744d3d6a492be4e2142d4b.png

    展开全文
  • 请修正程序中的错误,运行结果:输入4之后,结果是什么? 程序如下: \*该文件完成后以st_b2.c的文件名保存在考生文件夹下*\ #include <stdio.h> main() { float y; int m; printf(“请输入0~5之间...

    请修正程序中的错误,并运行结果:输入4之后,结果是什么?

    程序如下:

    \*该文件完成后以st_b2.c的文件名保存在考生文件夹下*\

    #include <stdio.h>

    main()

     {

      float y;

    int m;

    printf(“请输入0~5之间的数:”);

    scanf(“%f”,&x);

    m=floor(x);

    switch(m)

    {

    case 0:y=0;break;

    case 1:y=

    case 2:y=2*cos(x)-1;break;

    case 3:y=

    case 4:y=log10(x-2*x);break;

    default: printf(“数据输入错误!\n”);

    }

    printf(“y=%d\n”,y);

       }

    一、源代码的错误

    (1)main()  //没有返回值类型

    (2)float y;  //变量y没有初值

    (3)scanf(“%f”,&x);  //变量x没有定义,应为double x

    (4)scanf(“%f”,&x);  //变量x必须为double类型,应为%lf

    (5)m=floor(x) ;  //缺少#include<math.h>头文件

    (6)case 1:y=  //语法错误,代码不完整

    (7)case 2:y=2*cos(x)-1;break;  //公式不匹配错误,代码编写错误

    (8)case 3:y=  //语法错误,代码不完整

    (9)case 4:y=log10(x-2*x);break;  //公式不正确,log10和log是不同的

    (10)printf(“y=%d\n”,y);  //输入数据类型错误

    (11)闪退问题 //使用#include<Windows.h>和system("pause");

    二、完整代码

    #include "stdafx.h"

    #include<stdio.h>

    #include<Windows.h>

    #include<math.h>

    void main()

    {

    float y=-1;

    int m;

    double x;  //floor(x)中实参必须为double类型

    printf("请输入0~5之间的数:");

    scanf("%lf",&x);

    m=floor(x);  //floor(x)返回不大于x的最大整数值(返回值为浮点型)

    switch(m)

    {

    case 0:y=0;break;

    case 1:y=3*x+5;break;  

    case 2:y=2*sin(x-1);break;   

    case 3:y=log(1+pow(x,2));break;  // ln(x) 在C中是log(x)

    case 4:y=log(pow(x,2)-2*x);break;  //log10()与log()不同

    default: printf("数据输入错误!\n");

    }

    if(y!=-1)

    {

    printf("y=%lf\n",y);

    }

    system("pause");

    }

    三、测试用例

    序号                           输入情况                                    输入数据                  输出

    (1)                        输入非数字字符                          abc测试            数据输入错误!

    (2)                         输入边界值 -1                                  -1                   数据输入错误!

    (3)                         输入边界值 0                            0                         y=0.000000

    (4)                         输入边界值 5                           5                         数据输入错误!

    (5)                         输入边界值4.5                           4.5                      y=2.420368

    (6)                         输入1-5之间的值 3.2                 2                            y=2.430838

    (7)                        题目要求测试数据4                   4                             y=2.079442

    四、运行结果

    1输入非数字字符

    2输入边界值-1

    3输入边界值0

    4输入边界值5

    5.输入边界值4.5

    6.输入1-5之间的值3.22

    7.题目要求测试数据4

    展开全文
  • Problem I 求图像的周长 时限:1000ms 内存限制:10000K 总时限:3000ms ...输入: 首先给出m、n、xy四个正整数,下面给出m×n的图形,xy表示点击的位置,全0表示结束。 输出: 点击

    Problem I

    求图像的周长

    时限:1000ms 内存限制:10000K 总时限:3000ms

    描述:

    给一个用 . 和X表示的图形,图形在上、下、左、右、左上、左下、右上、右下8个方向都被看作是连通的,并且图像中间不会出现空洞,求这个图形的边长。

    输入:

    首先给出m、n、x、y四个正整数,下面给出m×n的图形,x、y表示点击的位置,全0表示结束。

    输出:

    点击的图形的周长。

    输入样例:

    2 2 2 2 XX XX 6 4 2 3 .XXX .XXX .XXX ...X ..X. X... 0 0 0 0

    输出样例:

    8

    18

    #include<stdio.h> void length(); void search(int x,int y); int m,n,x,y,q=0,k=0; char a[100][100]; int  b[100][100];//该数组用来存取与给定点有关的位置的坐标 int  l[8]={1,-1,0,0,1,1,-1,-1},h[8]={0,0,-1,1,1,-1,1,-1};//两数组分别表示八个方向的横纵坐标位移,用于递归时,对八个方向的讨论 int main() { int i,j; char d[100][100]; while(1) { k=0; scanf("%d%d%d%d",&m,&n,&x,&y); if(m==0&&n==0)return 0; scanf("\n"); for(i=1;i<=m;i++) { for(j=1;j<=n+1;j++) { scanf("%c",&d[i][j]); b[i][j]=0;//每次输入时都要对数组初始化,避免上一组数据的影响 if(d[i][j]!='\n')a[i][j]=d[i][j]; } } if(a[x][y]=='.')//若点击的点不是X,则周长为零 { printf("0\n"); } else b[x][y]=1;  //该点处为X,对应数组元素赋值为一 search(x,y); length();     } }    } void search (int x,int y) {     int i,row,col;     for(i=0;i<8;i++)     {     row=l[i]+x;     col=h[i]+y;     if(row>m||col>n||row<1||col<1)continue;//若数组越界,跳过     else if(b[row][col]==1)continue;//若之前已给该位置赋值为一,则跳过,避免递归陷入死循环     else if(a[row][col]=='X') { b[row][col]=1;为该点处数组元素赋值为1    search(row,col);    }     } } void length()//要计算图形周长面积,只需数一下每一个X周围有几个.即可或者当X处于边界时,周长+1 { int c=0; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(b[i][j]==1) {    if(i-1<1||a[i-1][j]=='.')c++;    if(i+1>m||a[i+1][j]=='.')c++;    if(j+1>n||a[i][j+1]=='.')c++;    if(j-1<1||a[i][j-1]=='.')c++; } } printf("%d\n",c); }

    展开全文
  • 编程输入实数x计算下面函数的输出y输出y; <p>x2 x<1 <p>3x-1 1≦x≦10 <p>x/5 x>10</p>
  • 【项目:分段函数求switch语句版】从键盘输入x(要求为整型),根据公式1计算并输出x和y。要求用switch语句完成。[参考解答]解法1:各分段的标准都为2的倍数,所以,构造表达式 t= x/2,根据t的取值决定...

    【项目:分段函数求值switch语句版】

    从键盘输入x的值(要求为整型),根据公式1计算并输出x和y的值。要求用switch语句完成。

    835a0af35ce8427a94de204ad901353b.png

    [参考解答]

    解法1:

    各分段的标准都为2的倍数,所以,构造表达式 t= x/2,根据t的取值决定switch分支;

    #include

    #include

    int main ( )

    {

    int x, y, a;

    scanf("%d", &x);

    a = x/2; //注意是整数相除

    if (a<0)

    a=0; //这样,x<0时,a值也是0

    switch(a)

    {

    case 0: //即x<2时

    y=x;

    break;

    case 1:

    case 2://a为1、2,对应x>=2 && x<6时

    y=x*x+1;

    break;

    case 3:

    case 4://a为3、4,对应x>=6 && x<10时

    y=-x;

    break;

    default://如果走到这一分支,对应的是x>=10的所有情况

    y=-x*x-1;

    }

    printf("%d\n", y);

    return 0;

    }

    解法2:构造表达式 t=(x<2) + (x<6) + (x<10)。由于关系表达式(x

    #include

    #include

    int main ( )

    {

    int x, y, t;

    scanf("%d", &x);

    t = (x<2) + (x<6) + (x<10); //括号中的关系表达式有几个为真(1),确定了t的值,实则反映的是x的范围

    switch(t)

    {

    case 3: //(x<2) 、 (x<6) 、 (x<10) 全部为真,自然x<2

    y=x;

    break;

    case 2: //(x<2) 、 (x<6) 、 (x<10) 为真有2,自然x>=2,且x<6

    y=x*x+1;

    break;

    case 1: //(x<2) 、 (x<6) 、 (x<10) 为真有1,自然……

    y=-x;

    break;

    case 0://只有(x<2) 、 (x<6) 、 (x<10) 全0了.也可写作default:

    y=-x*x-1;

    }

    printf("%d\n", y);

    return 0;

    }

    展开全文
  • 按如下函数原型编程计算并输出n×n阶矩阵的转置矩阵。其中,n由用户从键盘输入。已知n不超过10。 void Transpose(int *a, int n); void Swap(int *x, int *y); void InputMatrix(int *a, int n); void PrintMatrix...
  • 用scanf函数输入数据,使得x=9.6,y=81.73选择正确的输入语句( ). A、scanf("x=?",x); scanf("y=_",&y); B、scanf("x=%f",&x); scanf("y=%f",y); C、scanf("x=%3.1f",&x); scanf("y=%f",&y); D、scanf("x=%f",&x);...
  • 返回:贺老师课程教学链接 项目要求【项目1:分段函数求】从键盘输入x(要求为实型),根据公式1计算并输出x和y。 [参考解答]解法1 #include #include int main ( ) { double x, y; scanf("%lf", &x...
  • 返回:贺老师课程教学链接 项目要求【项目:分段函数求switch语句版】从键盘输入x(要求为整型),根据公式1计算并输出x和y。要求用switch语句完成。[参考解答]解法1:各分段的标准都为2的倍数,所以,...
  • 前两题简单了.. 3.最大距离(简单) 描述给定一组点(x,y),求距离最远的两个点之间的距离。 输入第一行是点数n(n大于等于2)接着每一行代表一个点,由两个浮点数x ...输出距离值并精确到小数点后4位。#include #inc
  • C语言编程题

    2020-12-11 17:15:54
    编写程序,从键盘输入x(要求为整型),根据如下公式计算,输出x和y;2.编写程序,键盘输入一组整数(最大为18位数), 判断它是不是回文数,如果一个自然数和它的个位数字 反向排列所得自然数相等,则称这个数为回文...
  • /*输入x,y值*/ /*调用max函数*/ /*输出*/ /*定义max函数*/ /*把结果返回主调函数*/  上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数和max 函数。函数之间是...
  • C语言练习题

    2021-05-09 18:15:18
    // 1、根据下面的函数关系,对输入的每个x值计算出相应的y值并输出结果。 /* 该题注意事项,因为当x大于10的时候,要进行sin计算并且与0.5相加,故此才用float */ // one(-99); // one(5); // one(66); //2:题目:...
  • C语言 基础练习40

    2018-11-25 19:01:00
    一、题目 1.输入2个整数,求两数的平方和输出。 2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。...0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。 ...
  • C语言 基础练习40题

    万次阅读 2018-10-08 06:33:00
    一、题目 1.输入2个整数,求两数的平方和输出。 2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则...0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。 6.从键盘输入两个数,求...
  • 上机考试练习题 20021程序填空不要改变与输入输出有关的语句 输入一个正整数repeat (0)做repeat次下列运算 输入 x计算并输出下列分段函数 f(x) 的(保留1位小数) 当 x 不等于0时y = f(x) = 1/xx 等于0时y = f(x)...
  • 1、根据下面的函数关系,对输入x值,计算出相应的y值并输出自结果。 (1)当x小于0时,y等于1+sin(x)。 (2)当x大于等于0且x小于1时,y等于x的平方加上 cos(x); (3)当x大于等于1时,y等于(x-1)的平方根 要求:按格式...
  • c语言基础

    千次阅读 2008-08-30 15:49:00
    1. 【问题描述】从键盘输入三个整数,分别存入x,y,z三个整型变量中,计算并输出三个数的和以及平均。【输入形式】从键盘输入三个整数,整数之间以空格隔开。【输出形式】在屏幕上分两行显示结果:第一行为三个数...
  • 1.计算某个数X的平方Y,分别以“Y=X*X"和"X* X=Y"的形式输出X和Y"的。源程序: #include<stdio.h> int main(void) { int x,y; printf("请输入x: "); scanf("%d",&x); y=x*x; ...
  • 第三次C语言作业

    2019-10-01 19:48:33
    计算f(x)的输入实数x计算并输出下列分段函数f(x)的,输出时保留1位小数。 输入输出样例1:  Enterr x: 10.0  f(10.0) = 0.1 输入输出样例2:  Enter x: 234  f(234.0) = 234.0 源程序(有错误的程序) ...
  • c语言第三次作业

    2019-10-08 04:03:28
    计算f(x)的输入实数x计算并输出下列分段函数f(x)的,输出时保留1位小数。 输入输出样例1:  Enterr x: 10.0  f(10.0) = 0.1 输入输出样例2:  Enter x: 234  f(234.0) = 234.0 错误信息1: 错误原因:...
  • C语言 编程练习22

    2018-11-25 19:21:00
    1、编一个程序,输入x,按下列公式计算并输出y值; 2、已知数A与B,由键盘输入AB的,交换它们的输出。 3、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 4:...
  • C语言程序——分段函数

    千次阅读 2020-07-22 00:14:17
    输入x,计算并输出下列分段函数的。 【输入形式】 从键盘输入整数x #include<stdio.h> int main(){ int x,y; scanf("Enter x : %d",&x);//千万注意Enter x: if(x==0){ printf("sign(%d)=0",x); } ...
  • C语言第三次作业

    2017-10-27 16:40:00
    计算f(x)的输入实数x计算并输出下列分段函数f(x)的,输出时保留1位小数。 输入输出样例1:  Enterr x: 10.0  f(10.0) = 0.1 输入输出样例2:  Enter x: 234  f(234.0) = 234.0 1.错误信息:  错误...

空空如也

空空如也

1 2 3 4 5 6
收藏数 120
精华内容 48
关键字:

c语言输入x值并计算y

c语言 订阅