SCAU高级语言程序设计--实验4 选择结构(1)

SCAU高级语言程序设计--实验4 选择结构(1)

一、堂上限时习题

1、数的排序

题目:由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。

思路:两个两个数一一对比。

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

2.字符变换

题目:由键盘输入5个字符,将其中的大写字符变成小写(其它类型的字符不变),最后,按输入顺序输出这5个字符。

思路:输入每一个字符到数组。判断每一个字符是否为大写字母,是的话就转换,不是的话什么也不用做。最后循环输出。

#include<stdio.h>
int main (){    
    char a[5];
    int i;
    for(i=0;i<5;i++){//循环输入5个字符
        scanf("%c",&a[i]);//输入一个字符
        if(a[i]>='A'&&a[i]<='Z'){//判断是否为大写字母
            a[i] += 'a'-'A';//可以查看ASCII码,'a'与'A'的之间的值
        }
    }
    //打印字符
    for(i=0;i<5;i++){
        printf("%c",a[i]);
    }
    return 0;
}

3.数的整除

题目:由键盘输入5个整数,逐个判断它们能否被27整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行,5个数的判断共占5行)。

#include<stdio.h>
int main (){    
    int i,a[5];
    for(i=0;i<5;i++){
        scanf("%d",&a[i]);
        if(a[i]%27==0)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}

注意:scanf()函数输入时候空格问题。输入的时候,空格也会被当做输入,所以若不用数组的话,应该scanf("%d %d %d %d %d",&a1,&a2,&a3,&a4,&a5);。(可参考P121页字符型数据输入和输出)

4.正负奇偶判断

题目:由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇偶性,奇数输出odd,偶数输出even。

#include<stdio.h>
int main (){
    int n;
    scanf("%d",&n);
    //判断正负数
    if(n<0)
        printf("negative\n");
    else
        printf("positve\n");
    //判断奇偶性
    if(n%2==0)
        printf("even\n");
    else
        printf("odd\n");
    return 0;
}

5、简单计算器

题目:下面程序是实现一个简单的运算器(保留两位小数点),如果由键盘输入10+50,计算机可以输出结果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机输出2.00,请在空处填上适当的代码,运行通过后并提交。

思路:主要学会运用switch,其中注意有无break的区别。有break直接跳出,没有break继续执行下面语句。(可参考P53-55)

#include<stdio.h>
int main (){
    float a,b,r;
    char op;
    scanf("%f%c%f",&a,&op,&b);
    switch(op){
        case '+':
            r = a+b;
            break;
        case '-':
            r = a-b;
            break;
        case '*':
            r = a*b;
            break;
        case '/':
            r = a/b;
            break;
        default:
            printf("error");
            break;
    }
    printf("result=%.2f",r);
    return 0;
}

 

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值