第四章21道题练习

概念题:

1.

文字描述

1.定义并赋值m=23,n=5;
2.输出!m+m%n的值;

3.结束

流程图

 

代码

#include<stdio.h>
int main()
{
    int m = 23, n = 5;
    printf("%d\n", !m + m % n);
    return 0;
}

运行结果

 

6.

文字描述

1.定义并赋值x=1,y=2;
2.计算(x>y)&&(--x>0);
3.输出x的值;

4.结束

流程图

 

代码

#include<stdio.h>
int main()
{
    int x = 1, y = 2;
    (x > y) && (--x > 0);
    printf("%d\n",x);
    return 0;
}

运行结果

 

15.

文字描述

1.定义3个整数a,b,c;并给a赋值0,b赋值3,c赋值2;
2.如果a++并且b++,那么c--;
3.否则如果a+1与6相等的话,那么c++;
4.输出a,b,c的值;

流程图

 

代码

#include<stdio.h>
int main()
{
    int a = 0, b = 3, c = 2;
    if (a++ && b++) {
        c--;
    }
    else if (a + 1 == 6 || b--) {
        c++;
    }
    printf("%d,%d,%d\n", a, b, c);
    return 0;
}

运行结果

 

16

文字描述

1.定义3个整数a,b,c;并给a赋值2,b赋值2,c赋值4;
2.如果sqrt(fabs(a))!=(4*a)/(b*c);
3.那么a=2;
4.否则“不构成”;
5.输出a的值;

流程图

 

代码

#include<stdio.h>
#include<math.h>
int main()
{
    int a=2 , b=2 ,c=4;
    if (sqrt(fabs(a)) != (4 * a) / (b * c)) {
        a = 2;
    }
    else {
        printf("不构成");
    }
    printf("%d\n", a);
    return 0;
}

运行结果

 

17.

文字描述

1.定义并赋值a=0,b=0,c=0;
2.如果(a++%%(b+=a)||++c);
3.输出a,b,c,的值;

4.结束

流程图

 

代码

#include<stdio.h>
int main()
{
    int a = 0, b = 0, c = 0;
    if(a++&&(b+=a)||++c)
    printf("%d,%d,%d\n",a,b,c);
    return 0;
}

运行结果

 

选择题

8.

文字描述

1.定义4个整数a,b,x,y;
2.给x赋值3;y赋值5;
3.如果x>y;
4.那么a=x;b=y;
5.否则a=y;b=x;
6.输出a,b的值;

流程图

 

代码

#include<stdio.h>
int main()
{
    int a, b, x, y;
    x = 3, y = 5;
    if (x > y) {
        a = x;
        b = y;
    }
    else {
        a = y;
        b = x;
    }
    printf("%d,%d\n", a, b);
    return 0;
}

运行结果

 

10

文字描述

1.定义整数a,b,c;
2.赋值a=3,b=3,c=2;
3.输出!a&&!b&&c的值;

流程图

 

代码

#include<stdio.h>
int main()
{
    int a , b , c ;
    a = 3;
    b = 3;
    c = 2;
    printf("%d,\n",!a&&!b&&c);
    return 0;

运行结果

 

17

文字描述

1.定义整数n;n=8;
2.计算n%=(n-2);
3.输出n的值;

 

流程图

 

代码

#include<stdio.h>
int main()
{
    int n;
    n = 8;
    n %= (n - 2);
    printf("%d\n",n);
    return 0;
}

运行结果

 

18

文字描述

1.定义整数a,b,;
2.给a赋值0,b赋值2;
3.计算x=a>b++?a+=:b+=;
4.输出x,a,b;

流程图

 

代码

#include<stdio.h>
int main()
{
    int a = 3, b = 2,x;
    x = a > b++?a++:b++;
    printf("%d,%d,%d\n",x,a,b);
    return 0;
}

运行结果

 

20

文字描述

1.定义整数x,y,z;
2.赋值x=4,y=3,z=5;
3.如果x>y
4.那么z=x,x=y,y=z;
5.输出x,y,z的值;

流程图

 

代码

#include<stdio.h>
int main()
{
    int x, y, z;
    x = 4;
    y = 3;
    z = 5;
    if (x > y) {
        z = x;
        x = y;
        y = z;
    }
    printf("%d,%d,%d\n",x,y,z);
    return 0;

运行结果

 

24

文字描述

1.定义整数a,b,x;
2.给a赋值3,b赋值2;
3.计算b=--a||++b;
4.输出b;

流程图

 

代码

#include<stdio.h>
int main()
{
    int a = 0, b = 2;
    b = --a || ++b;
    printf("%d\n",b);
    return 0;
}

运行结果

 

25

文字描述

1.定义整数s,x;
2.给x赋值5;
3.计算s=x<=0?-1:(x==0)?0:1;
4.输出s的值;

流程图

 

代码

#include<stdio.h>
int main()
{
    int s, x;
    x = 5;
    s = x <= 0 ? -1 : (x == 0) ? 0 : 1;
    printf("s=%d\n",s);
    return 0;
}

运行结果

 

阅读题

1

文字描述

1.定义整数并赋值x=0,y=1,z=10;
2.如果x如果y;
3.那么z=20;
4.否则z=30;
5.输出z的值;

流程图

 

代码

#include<stdio.h>
int main()
{
    int x = 0, y = 1, z = 10;
    if (x) {
            if (y) {
                z = 20;
            }
            else {
                z = 30;
            }
    }
    printf("%d\n",z);
    return 0;
}

运行结果

 

 

3

文字描述

1.定义整数并赋值x=0,y=0,z=0;
2.如果(x++并且(y+=x)或者++z);
3.输出x,y,z的值;

流程图

 

代码

#include<stdio.h>
int main()
{
    int x = 0, y =0, z =0 ;
    if (x++ && (y += x) || ++z);
    printf("%d,%d,%d\n",x,y,z);
    return 0;
}

运行结果

 

编程题

1.

文字描述

1.定义整数x;
2.输入一个整数给x
3.如果x%2=0;
4.那么x是偶数;
5.否则x是奇数;

流程图

 

代码

#include<stdio.h>
int main()
{
    int x ;
    scanf_s("请输入一个整数:", & x);
    if (x % 2 == 0){
        printf("x是奇数\n", x);
    }
    else {
        printf("x是奇数\n", x);
    }
    return 0;
}

运行结果

 

2.

文字描述

1.定义小数a.b.c,x1,x2;
2.输入三个系数;
3.输出a,b,c的值;
4.s=(b*b)-(4*a*c);
5.如果a=0;
6.输出该方程不是一元二次方程;
7.输出该方程是一元二次方程;
8.如果s=0
9.那么只有一个解,根据x1 = -b / (2 * a), x2 = -b / (2 * a),输出x1,x2的值;
10.否则有两个解,根据x1 = (-b + sqrt(s)) / (2 * a), x2 = (-b - sqrt(s)) / (2 * a),输出x1,x2的值;
 

流程图

 

代码

#include<stdio.h>
#include<math.h>
int main()
{
    double a, b, c, x1, x2;
    printf("请输入三个系数:");
    scanf_s("a=%lf,b=%lf,c=%lf", &a, &b, &c);
    double s = (b * b) - (4 * a * c);
    if (a == 0) {
        printf("该方程不是一元二次方程\n");
    }
    else {
        printf("该方程是一元二次方程");
        if (s == 0) {
            printf("只有一个解:x1=%lf,x2=%lf\n", x1 = -b / (2 * a), x2 = -b / (2 * a));
        }
        if (s > 0) {
            printf("有两个解:x1=%lf,x2=%lf", x1 = (-b + sqrt(s)) / (2 * a), x2 = (-b - sqrt(s)) / (2 * a));
        }
    }
    return 0;
}

运行结果

 选择题

5.

文字描述

1.定义整数x=2,z=1;小数y=1.2;
2.如果x=2,那么y++;
3.否则的话,如果x=‘0’,那么y=3;
4.输出y的值

流程图

 

代码

#include<stdio.h>
#define N 8
int main()
{
int x = 2, z = 1;
double y = 1.2;
switch (x){
case 2:
y++;
break;
case ‘0’:
y = 3;
}
printf("%f", y);
return 0;
}
 

运行结果

 

9.

文字描述

1.输入3个数x,z,y;
2.赋值x=2,z=1,y=1.2;
3.判断x=2;
4.输出y++;
5.否则,判断x=‘0’;
6.输出y=3;
7.输出y的值;

流程图

 

代码

#include<stdio.h>
int main()
{
int i = 1, n = 0;
switch (i)
{
case 1:
case 2:n++;
case 3:n++;
}
printf("%d", n);
return 0;
}

运行结果

 

阅读题2

文字描述

1.输入两个数i,n;
2.赋值i=1,n=0;
3.判断i1
4.判断语句case 2
5.输出n++;
6.否则,判断语句case 3
7.输出n++;
8.输出n的值;

流程图

 

代码

#include<stdio.h>
int main(void)
{
char operator; double valuel, value2;
printf(“Type in an expresssion:”);
scanf_s("%lf%c%lf", &valuel, &operator ,&value2);
swtich(operator) {
case’+’:
printf("=%.2f\n", valuel + value2); break;
case’-’:
printf("=%.2f\n"valuel * valuel2); break;
case’/’:
if (value == 0)
printf(“Cannot divide into 0”);
else
printf("=%.2f\n", valuel / valuel2); break;
default;
printf(“Unknown operator\n”); break;
}
return 0;
}
 

运行结果

编程题

3.

文字描述

1输入字符ch和两个数m,n;
2判断ch‘+’;
3输出m+n;
4否则,判断ch==’-‘;
5输出m-n;
6否则,判断ch==’‘;
7输出mn;
8否则,判断ch==’/‘;
9判断n==0;
10输出“分母不为零”
11输出m/n;
12否则,输出“输出错误”;
流程图
 

流程图

 

代码

#include<stdio.h>
int main(void)
{
char operator; double valuel, value2;
printf(“Type in an expresssion:”);
scanf_s("%lf%c%lf", &valuel, &operator,1 ,&value2);
switch(operator) {
case’+’:
printf("=%.2f\n", valuel + value2);
break;
case’-’:
printf("=%.2f\n",valuel * value2);
break;
case’*’:
printf("=%.2f\n",valuel * value2);
break;
case’/’:
if (value2 == 0)
printf(“Cannot divide into 0”);
else
printf("=%.2f\n", valuel / value2);
break;
default:
printf(“Unknown operator\n”);
break;
}
return 0;
}
 

运行结果

 

4.

文字描述

1输入m;
2判断m<10000;
3输出n=1000;
4否则,判断m<20000;
5输出n=1000+(m-10000)*0.05;
6否则,判断m<50000;
7输出n=1000+(m-20000)*0.06;
8否则,判断m<100000;
9输出n=1000+(m-50000)*0.07;
10否则,输出n=1000+(m-100000)*0.08;
11输出n的值
 

流程图

 

代码

#include<stdio.h>
int main()
{
long int b, c;/b提成 c销售额/
printf(“请输入销售额:”);
scanf_s("%ld", &c);
if (c < 10000)
{
b = 0;
}
else if (c < 20000)
{
b = (c - 10000) * 0.05;
}
else if (c < 50000)
{
b = 10000 * 0.05 + (c - 20000) * 0.06;
}
else if (c < 100000)
{
b = 10000 * 0.05 + 30000 * 0.06 + (c - 50000) * 0.07;
}
else
{
b = 10000 * 0.05 + 30000 * 0.06 + 50000 * 0.07 + (c - 100000) * 0.08;
}
printf(“提成为:%ld,总工资为%ld”, b, (1000 + b));
return 0;
}
 

运行结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值