期末C实验题目汇总

实验一

  1. 编写程序,程序中使用两种方法,将两个变量的值互换后输出。
#include<stdio.h>
int main(){
   
    int a, b , temp;
    printf("请输入两个用空格相间隔的数字");
    scanf("%d %d", &a, &b);
    temp = a;
    a = b;
    b = temp;
    printf("互换后:%d %d\n", a, b);
    return 0;
}
#include<stdio.h>
int main(){
   
    int a, b, sum;
    printf("请输入两个用空格相间隔的数字");
    scanf("%d %d",&a, &b);
    sum = a + b;
    a = sum - a;
    b = sum - b;
    printf("互换后:%d %d\n", a,b);
    return 0;
}

2.从键盘输入一个四位正整数,首先分离出该整数中的每一位数字,并按升序显示输出各位数字;然后用分离出的最大数做为十位数,最小数做为个位数组成一个新的数字,并显示输出结果。例如,若输入的四位正整数为 9215,按升序显示输出分离出的各位数字为 1 2 5 9;组成数字为 91。
具体要求: ①四位正整数由键盘输入,程序应该对输入的数字是否为四位正整数进行简单的判断; ②对输出结果要有具体说明。

#include<stdio.h>
void swap(int *i, int *n){
   
    int temp;
    temp = *i;
    *i = *n;
    *n = temp;
}
int main(){
   
    int number, a, b, c, d,e;
    printf("输入数字:");
    scanf("%d", &number);
    if(number < 10000 && number >= 1000){
   
        d = number % 10;
        c = (number % 100 - d) / 10;
        b = (number % 1000 - number % 100)/100;
        a = (number - b*100 - c*10 - d) / 1000;
        int str[4] = {
   a, b, c, d};
        for(int f = 0; f < 4; f++){
    
            for(int m = 0; m < 3-f; m++){
   
                if (str[m] > str[m+1]){
   
                    swap(&str[m], &str[m+1]);
                }
            }
        } 
        printf("排序后升序显示:");
        int i;
        for(i = 0; i < 4; i++){
   
            if(i != 0)printf(",");
                printf("%d", str[i]);
            if(i == 3)printf("\n");
        }
        printf("新组成的数字:%d%d\n", str[3], str[0]);
    }else{
   
        printf("输入的数字不符合要求!\n");
    }
    return 0;
}

3.编写程序,计算并输出下面分段函数的值:
x*x x<10
y= 2x+5 10≤x≤20
3x-7 其它

#include<stdio.h>
int main(){
   
    double x;
    printf("请输入数字x的值");
    scanf("%lf", &x);
    printf("分段函数计算结果为:");
    if(x < 10){
   
        printf("%lf\n", x * x);
    }else if(x <= 20 && x >&#
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值