程序结构综合应用(课件)讲解_第1页
程序结构综合应用(课件)讲解_第2页
程序结构综合应用(课件)讲解_第3页
程序结构综合应用(课件)讲解_第4页
程序结构综合应用(课件)讲解_第5页
已阅读5页,还剩22页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《嵌入式C程序设计》主讲:马颖转动数字数字或字符转动的应用将用户输入的5位数字向右转动5次,输出每次转动后得到的数字。分析:

【例1】编写一个转动数字的程序ABCDE543211543221543321544321554321#include<stdio.h>#include<stdlib.h> main(){unsignedx,save; unsignednumber,temp; inti=1,count=1;

inta5,a4,a3,a2,a1;

【例1】编写一个转动数字的程序//程序中用到exit函数//x表示用户录入的数,save是存储用户录入的数//number是拆分后的每一位数字//i和count都表示循环变量//分别存放x从高位到低位的单个数字printf(“输入一个5位的正整数:\n”);scanf(“%d”,&x);save=x; if(x>99999||x<10000){printf(“输入的数字不符合要求。\n”);exit(0); }【例1】编写一个转动数字的程序//将用户录入的数x送至save中存储//退出程序while(count<=5){

do{number=x%10;

switch(i) {case1:a1=number;break; case2:a2=number;break; case3:a3=number;break; case4:a4=number;break; case5:a5=number;break;}

x=x/10;

i++;}while(i<=6); 【例1】编写一个转动数字的程序//判断数字转动输出的次数//取x的最低位数字//把x每一位数字存放对对应的变量中//取x数的除最低位以外的数字//判断是否取完了5位数字

temp=a1; //把最低位数字存入临时变量 a1=a2; //把第四位数字右移一位 a2=a3; //把第三位数字右移一位 a3=a4; //把第二位数字右移一位 a4=a5; //把最高位数字右移一位 a5=temp; //把临时变量中存储的最低位数字存入最高位

x=a5*10000+a4*1000+a3*100+a2*10+a1; //计算右移后的数 printf(“%u转动%d次是:%u\n”,save,count,x);

count++; }}【例1】编写一个转动数字的程序【例1】编写一个转动数字的程序【例1】编写一个转动数字的程序谢谢《嵌入式C程序设计》主讲:马颖记忆力猜测

【例题】编写一个记忆力测试的程序APXDZ

【例题】编写一个记忆力测试的程序CWXDZ*****请记忆以下字符:输入刚才显示的字符序列:输入非法,程序退出!恭喜,记忆力不错!遗憾,记忆不准确!继续测试吗?输入y或n******E*

【例题】编写一个记忆力测试的程序首先要将当前机器的时间设置为随机数种子,然后才能模拟得到一个随机数:srand(time(NULL));

获得A~Z的随机字母:

c1=rand()%26+‘A’;延迟1000毫秒: longtime;

time=clock(); while(clock()-time<=1000){ }

【例题】编写一个记忆力测试的程序#include<stdio.h>#include<time.h> //程序中用到time函数#include<stdlib.h> //程序中用到srand函数和rand函数main(){longnow; //用来存放time()函数的返回值charc1,c2,c3,c4,c5,c6; //程序生成的随机字符chars1,s2,s3,s4,s5,s6; //用户录入的字符intscore=0,i; //score存储用户获得的分数,i是循环变量charok=’y’,temp;srand(time(NULL)); //用当前时间做随机数种子

【例题】编写一个记忆力测试的程序while(ok==‘y’||ok==‘Y’){ok=’n’;printf(“\n请记忆以下字符\n”);c1=rand()%26+’A’; c2=rand()%26+’A’;c3=rand()%26+’A’;c4=rand()%26+’A’;c5=rand()%26+’A’;c6=rand()%26+’A’;printf(“%c%c%c%c%c%c”,c1,c2,c3,c4,c5,c6);//得到6个A~Z之间的随机字符

【例题】编写一个记忆力测试的程序printf(“\r”); //将输出光标移动到本行开头(不回行)for(i=1;i<=6;i++)printf(“*”); //输出6个*,以便擦除曾显示的字符串printf(“输入刚才显示的字符序列(回车确认):\n”);scanf(“%c%c%c%c%c%c”,&s1,&s2,&s3,&s4,&s5,&s6);temp=getchar(); //消耗掉用户确认输入时所输入的回车if(temp!=’\n’){printf(“输入非法,程序退出!”);exit(0);}

【例题】编写一个记忆力测试的程序

if(c1==s1&&c2==s2&&c3==s3&&c4==s4&&c5==s5&&c6==s6){score++; //增加1分printf(“恭喜,记忆力不错!\n”);}elseprintf(“遗憾,记忆不准确!\n”);printf(“目前得分:%d\n”,score);printf(“继续测试吗?输入y或n(回车确认):”);ok=getchar();getchar();}}【例1】编写一个转动数字的程序谢谢《嵌入式C程序设计》主讲:马颖信息加密

信息加密

信息加密ABCDEFGHIJKLMNOPQRSTUVWXYZ密匙设置为5信息:密码:China!Hmnsf!

【例题】编写一个信息加密的程序将信息中的字母字符进行加密,通过密匙确定变成其后的第n个字母,非字母字符保持不变。main(){intn;

//存放密匙数charc; //存放信息字符printf("请输入信息转换的密匙数:");scanf("%d",&n);

c=getchar(); //消耗掉用户确认输入时所输入的回车printf("请输入要译成密码的信息:\n");

c=getchar(); //输入一个字符给字符变量c

【例题】编写一个信息加密的程序while(c!=’\n’) //检查c的值是否是换行符{if((c>=’a’&&c<=’z’)||(c>=’A’&&c<=’Z’)) //如果c是字母 {c=c+n; //只要是字母,都先加用户确定的密匙数n if((c>’Z’&&c<=’Z’+n)||

c>’z’) //如果是26个字母中最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论