华为上机笔试题
来源:互联网 发布:排序算法 比较 编辑:程序博客网 时间:2024/06/06 06:57
摘要:构建一个dos命令行界面的MP3界面,可以输入u,d,l,r四种命令,代表上下左右翻滚,并且当前选择的歌曲由一个[]标记.当输入混合指令如uullr时,按顺序计算最后到达的页面.
基本思路:本题没有什么算法可言,主要是注意细节上的问题,比如界面翻到了第几页,剩下多少首歌,什么时候应该从底翻到顶等等.代码比较杂乱不清,是很久以前的东西了,有时间再修改吧、
// test_kong.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"#include "string.h"int _tmain(int argc, _TCHAR* argv[]){ int n=0,i; int k = 0; int m =0; int t = 1; int r = 0; char s[10]={0}; printf("please input the number of songs n =:"); scanf("%d",&n); for(int i =1;i<=4;i++) { if(i==1) printf("[ "); if(i==2) printf("] "); printf("%d",i); } printf("\n"); while(1) { printf("please input the command:"); scanf("%s",s); if (s[0]=='e') { printf("MP3 is exited"); break; } if(n<=0) { printf("there is no song\n"); } else//n>0 { if(s[0]!='u'&&s[0]!='d'&&s[0]!='l'&&s[0]!='r') { printf("the command is wrong\n"); break; } if (n<=4) { for ( i =1;i<=n;i++) { if(i==1) printf("[ "); if(i==2) printf("] "); printf("%d ",i); } printf("up or down is unavaiable"); } else//n>=4 { m =(n%4!=0?(n/4)+1:(n/4)); k = n % 4; for( i =0;i<=strlen(s)-1;i++) { if (s[i]=='d') { r=0; if(t<m) t+=1; else t = 1; } else if (s[i]=='u') { r=0; if(t>1) t-=1; else t +=m-1; }// u }// compute up or down }//n>=4 for( i =0;i<=strlen(s)-1;i++) { if (s[i]=='r') { if (t==m&&r>=k-1)//r代表当前光标,从0开始算起 { r = 0; t = 1; } else if(r>=3) { t+=1; r -=3; } else r+=1; } if (s[i]=='l') { if (t==1&&r<=0) { t = m; r = 0; } else if (r<=0) { t = t-1; r+=3; } else r-=1; }//command : l }//compute l r // output if(t==m) { for(int i =1+(m-1)*4;i<=n;i++) { if(i==r+1+(m-1)*4) { printf("[ "); printf("%d ",i); printf("] "); } else printf("%d ",i); } printf("\n"); }//t==m else { for(int i = 1+(t-1)*4;i<1+t*4;i++) { if(i==r+1+(t-1)*4) { printf("[ "); printf("%d ",i); printf("] "); } else printf("%d ",i); } printf("\n"); }//t!=m }// n>0 }//while return 0;}
0 0
- 华为上机笔试题
- 华为上机笔试题(2)
- 2012华为校园招聘上机笔试题
- 华为2013校园招聘上机笔试题
- 华为公司上机笔试题剖析
- 华为2013校园招聘上机笔试题
- 华为2011上机笔试题3
- 华为2011上机笔试题2
- 华为2011上机笔试题1
- 2013华为笔试上机题 等式变换
- 华为2014年华为笔试上机题
- 华为2011上机笔试题一
- 华为2016校园招聘上机笔试题
- 华为2016校园招聘上机笔试题
- 华为2016校园招聘上机笔试题
- 成绩排名——华为上机笔试题
- 华为2016校园招聘上机笔试题
- 华为上机笔试题之约瑟夫环
- uva 11478 - Halum(BellmanFold)
- 15_09_07 创建模拟器发生的错误
- php中日期时间函数date()用法总结
- react-native试玩(13)-选择控件
- 第一周-A Simple Java Program
- 华为上机笔试题
- 项目制图的简单准备
- 关于C++表达式求值的困惑
- 容斥定理
- 数据结构(用面象对象方法与C++语言描述)线性表
- android中SharedPreferences的用法
- react-native试玩(14)-iOS中进度栏
- linux文件系统
- Python 读取csv的某行