#include <stdioh> //3、给数据加密程序。
#include <mathh>
int encrypt(int a,int b,int c,int d); //加密函数
int deciphering(int a,int b,int c,int d); //解密函数
main()
{
int number,k;
int g,s,b,q;
printf("please enter a number(四位数):");
scanf("%d",&number);
printf("---------------------------------\n"); //菜单
printf("-------------菜单选项------------\n");
printf("---------------------------------\n");
printf("1对输入的四位数进行加密 *** 作。\n");
printf("2对输入的四位数进行解密 *** 作。\n");
printf("3退出程序。\n");
printf("---------------------------------\n");
while(k!=3) //循环选择 *** 作
{
printf("please enter your chance:");
scanf("%d",&k);
g=number%10;
s=number/10%10;
b=number/100%10;
q=number/1000;
switch(k)
{
case 1: //加密选项
{
encrypt(g,s,b,q);
printf("加密后的数字为:%d\n",encrypt(g,s,b,q));
}
break;
case 2: //解密选项
{
deciphering(g,s,b,q);
printf("解密后的数字为:%d\n",deciphering(g,s,b,q));
}
break;
case 3: //退出选项
{
printf("close the code!\n");
}
break;
default:
{
}
break;
}
}
}
int encrypt(int a,int b,int c,int d) //加密函数
{
int encryptnumber=0;
int temp1,temp2;
if(a+5>=10) //判断是否超过十,此处可以简化为函数,不过我没做
{
a=abs(a+5-10);
}
else
{
a=a+5;
}
if(b+5>=10)
{
b=abs(b+5-10);
}
else
{
b=b+5;
}
if(c+5>=10)
{
c=abs(c+5-10);
}
else
{
c=c+5;
}
if(d+5>=10)
{
d=abs(d+5-10);
}
else
{
d=d+5;
}
temp1=a;
a=d;
d=temp1;
temp2=b;
b=c;
c=temp2;
encryptnumber=d1000+c100+b10+a;
//printf("加密后的数字为:%d\n",encryptnumber);
return encryptnumber;
}
int deciphering(int a,int b,int c,int d) //解密函数
{
int encrypt(int a,int b,int c,int d); //函数嵌套
int decipheringnumber=0;
int encryptnum=encrypt(a,b,c,d); //取得加密函数的结果
int temp1,temp2;
int gg,ss,bb,qq;
gg=encryptnum%10;
ss=encryptnum/10%10;
bb=encryptnum/100%10;
qq=encryptnum/1000;
temp1=gg;
gg=qq;
qq=temp1;
temp2=bb;
bb=ss;
ss=temp2;
if(gg-5<=0) //判断是否超过十,此处可以简化为函数,不过我没做
{
gg=abs(gg-5+10);
}
else
{
gg=gg-5;
}
if(ss-5<=0)
{
ss=abs(ss-5+10);
}
else
{
ss=ss-5;
}
if(bb-5<=0)
{
bb=abs(bb-5+10);
}
else
{
bb=bb-5;
}
if(qq-5<=0)
{
qq=abs(qq-5+10);
}
else
{
qq=qq-5;
}
decipheringnumber=qq1000+bb100+ss10+gg;
return decipheringnumber;
}
第一章 习题答案
一、选择题
1~5:BDCDA 6~10:DABBB 11~12:CC
二、填空题
1、main()
2、函数首部 ,函数体
3、函数
4、编辑、编译、连接、运行
5、cpp、obj、 exe
6、; 或 分号
三、编程题
#include <stdioh> / 包含标准库的信息 /
void main() / 定义名为main 的函数,它不接受参数值 /
{ / main函数的语句都被括在花括号中 /
printf("hello, world\n");
/ main 函数调用库函数printf 以显示字符序列,其中\n代表换行符 /
}
第二章 习题答案
一、选择题
1~5:CBABB 6~10:CDCDD 11~15:CADBC 16~20:BDAAD
二、填空题
1、整型,实型,字符型,枚举类型
2、1
3、9
4、12353514
5、2,1
6、2,2
7、10 20 0
8、a=14
9、2,3,1
首先,你要先明白,这个程序有两部分组成:函数fun()和主函数main();main()调用fun()函数实现算法运算。
首先介绍主函数main():主要负责打印输出结果,for循环由k控制,连着调用fun()函数两次,并打印。
fun()函数:实现算法运算。
第一次调用:x == 1(参数a的值), z == 4(在z++后), y==1(在y++后),所以此时返回值(x + y + z) = 6
第二次调用:x == 1(参数a的值), z == 5(在第一次z++后,本次有执行了一次z++), y==2(在第一次y++后,本次有执行了一次y++),所以此时返回值(x + y + z) = 8
直接运行了一次你的代码,输出结果如下:
注意事项以及建议:
1、这个道题目我觉得是对static的考察。
2、static 修改的变量在整个程序生命周期内只会被定义一次,并且在程序生命周期结束前,其上次的运行结果会被保存,供下次使用。
3、在fun()函数中, y,z是static类型。
如果以上问题对你有帮助,请采纳一下,谢谢。
以上就是关于C语言 程序设计全部的内容,包括:C语言 程序设计、《C语言程序设计》习题答案吉林大学出版社、C语言程序设计求详解过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)