大连理工程序设计-第 3 次上机作业(20 页)Good is good, but better carries it.精益求精,善益求善。1.题目描述:编写函数,计算表达式 的值( ),形参 n 的值由主程序输入并传递,函数返回值为 s.题目分析:主函数用循环语句计算各阶层之和,调用函数 factorial(int x),用循环语句计算每个阶层。流程图:程序代码:开始定义 n,s,k,m;返回 t 值用循环语句计算每个阶层结束调用 factorial(int x)函数循环语句计算各阶层之和用 scanf 输入 n#includevoid main(){int factorial(int x);int n,s,k,m;s=0;scanf("%d",&n);for(k=1;k<=n;k++){m=factorial(k); s+=m;}printf("%d\n",s);}int factorial(int x){int t,i;t=1;for(i=1;i<=x;i++)t*=i;return(t);}程序截屏:2.1 题目描述:编写数字加密函数 int encrypt(int n). 其输入为一个四位数,返回为加密后的数。其加密方法为: (1)将该数每一位上的数字加 9,然后除以 10 取余,作为该位上的新数字,(2).将第 1 位和第 3 位上的数字互换,第 2 位和第 4 位上的数字互换,组成加密后的新数。题目分析:主函数输入 n,并打出结果。调用 int encrypt(int n)函数,在 int encrypt(int n)函数里用公式将原密码加密,并返回加密后的值。流程图:程序代码:#includevoid main(){int encrypt(int n);int a,b;开始定义 a,b;返回 n 值主函数用 printf 打出结果结束factorial(int x)函数用公式将原密码加密调用 int encrypt(int n)函用 scanf 输入 ascanf("%d",&a);b=encrypt(a);printf("The encrypted number is %d\n",b);}int encrypt(int n){int i,j,p,q;i=n%10;j=n%100/10;p=n%1000/100;q=n/1000;i=(i+9)%10;j=(j+9)%10;p=(p+9)%10;q=(q+9)%10;n=j*1000+i*100+q*10+p;return n;}程序截屏:2.2题目描述: 编写数字加密函数 int decrypt(int n), 其输入为一个使用 2.1 encrypt 函数加密后的四位数,返回为解密后的数。题目分析:主函数输入 n,并打出结果。调用 int decrypt(int n)函数,在 int decrypt(int n)函数里用公式将原密码解密,并返回解密后的值。流程图:开始定义 a,b;用 scanf 输入 a程序代码:#includevoid main(){int decrypt(int n);int a,b;scanf("%d",&a);b=decrypt(a);printf("The decrypted number is %d\n",b);}int decrypt(int n){返回 ...