week3 C语言练习

来源:互联网 发布:手机网络gsm cdma lte 编辑:程序博客网 时间:2024/05/23 01:58

1、 给你任意三个整形数据,找出其中最大一个整形数。

#include<stdio.h>

int max(int a,int b) //构建一个比较大小的函数

{

       return a>b?a:b;

}

void main()

{

    int a,b,c,d;

    printf("请输入输入三个整型数据:");

    scanf("%d%d%d",&a,&b,&c);

    printf("%d\n",max(max(a,b),c));

}

2、 1+2!+3!+...+20!的和。

#include<stdio.h>

void main(){

    int sum=0;

    int n=1;

    for(int i=1;i<=20;i++){

         n=i*n;

         sum+=n;

    }

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

}

3、 编程完成数据加密。数据是五位的整数,加密规则为:

每位数字都加上6,然后用和除以8的余数代替该数字,

再将第一位和第五位交换,第二位和第四位交换。

#include <stdio.h>

void main(void){

    int i,j,temp1,temp2;

    int arr[5];

    int number=97118;

    j=10000;

    printf("原始数据: \n%d\n",number);

    for(i=0; i<5; i++){

        arr[i]=number/j;

        number-=(j*arr[i]);

        j/=10;

        arr[i]=(arr[i]+6)%8;

    }

    printf("每位数字加上6,然后用和除以8的余数代替该数字:\n");

    for(i=0; i<5; i++){

        printf("%d",arr[i]);

    }

    printf("\n");

    temp1=arr[0];

    temp2=arr[1];

    arr[0]=arr[4];

    arr[1]=arr[3];

    arr[4]=temp1;

    arr[3]=temp2;

    printf("将第一位和第五位交换,第二位和第四位交换:\n");

    for(i=0; i<5; i++){

        printf("%d",arr[i]);

    }

    printf("\n");   

}

原创粉丝点击