【笔试题】Week03

来源:互联网 发布:应用特征数据库升级 编辑:程序博客网 时间:2024/06/14 08:05

第一题

#include <stdio.h>#include <stdlib.h>/**任意三个整型数据,找出其中最大的一个数*/int main(){    int num1,num2,num3;    scanf("%d %d %d",&num1,&num2,&num3);    printf("最大的数字为:%d",compareNum(num1,num2,num3));    return 0;}int compareNum(int num1, int num2,int num3) {    int temp;    if(num1 > num2) {        temp = num1;        num1 = num2;        num2 = temp;    }    if(num2 > num3) {        temp = num2;        num2 = num3;        num3 = temp;    }    return num3;}

第二题

#include <stdio.h>#include <stdlib.h>//输出1的阶乘到20的阶乘的和int result(int);int main(){    int num;    int sum = 0;    for(num = 1;num <= 20; num++) {           sum += result(num);    }    printf("%d",sum);    return 0;}int result(int num) {    if(num != 0) {        return num * result(num - 1);    }else        return 1;}

第三题

#include <stdio.h>#include <stdlib.h>int main(){    long int number;    scanf("%ld",&number);    int num[5];    int i;    //把每一位数赋给相应的变量    num[0] = number % 10;    num[1] = number % 100 / 10;    num[2] = number % 1000 / 100;    num[3] = number % 10000/1000;    num[4] = number / 10000;    for(i = 0;i < 5; i++) {        num[i] = ( num[i] +  num[i] + 6 ) % 8;    }    printf("%d%d%d%d%d",num[4],num[3],num[2],num[1],num[0]);    return 0;}