10-15笔试题

来源:互联网 发布:算法导论22.3 13 编辑:程序博客网 时间:2024/06/08 04:09

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

#include <stdio.h>int main(){int a,b,c;printf("请输入三个整形数据:\n");scanf("%d%d%d",&a,&b,&c);int max=a;if(max<b)max=b;if(max<c)max=c;printf("您输入的三个整形数据最大值为:%d\n",max);return 0; }

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

#include <stdio.h>long long factorial(int num){if(num==0)return 1;elsereturn num*factorial(num-1);}int main(void){long long sum=0;for(int i=1;i<21;i++){sum+=factorial(i);}printf("%lld\n",sum);}
结果为:

3、编程完成数据加密。数据是五位的整数,加密规则为:
每位数字都加上6,然后用和除以8的余数代替该数字,

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

#include <stdio.h>#include <math.h>int main(void){int a;printf("请输入一个五位的整数:\n");scanf("%d",&a);int arr[5];arr[0]=(a/10000%10+6)%8;arr[1]=(a/1000%10+6)%8;arr[2]=(a/100%10+6)%8;arr[3]=(a/10%10+6)%8;arr[4]=(a%10+6)%8;for(int i=0,j=4;i<j;i++,j--){int top;top=arr[i];arr[i]=arr[j];arr[j]=top;}for(int i=0;i<5;i++)printf("%2d",arr[i]);}