常见编程题
来源:互联网 发布:telnet 80端口不通 编辑:程序博客网 时间:2024/06/03 22:42
1. 输入两行字符串正整数,第一行是被减数,第二行是减数,输出第一行减去第二行的结果。
2.
3.
5.
备注:1、两个整数都是正整数,被减数大于减数
示例:
输入:1000000000000001
1
输出:1000000000000000
#include <iostream>#include<string>using namespace std;int main(){ string A,B; cin>>A; cin>>B; int *Res=new int[A.size()]; int n=0; int f=0; //借位标志 for(int i=A.size()-1,j=B.size()-1;i>=0;i--,j--) { int m1=A[i]-'0'; int m2; if(j>=0) { m2=B[j]-'0'; } else { m2=0; } if(1==f) //如果有借位 { m1=m1-1; f=0; } if(m1>=m2) { Res[n++]=m1-m2; } else { f=1; Res[n++]=m1+10-m2; } } int flag=0; //判断最高为是否为0的标志 for(int i=n-1;i>=0;i--) { if(0==flag && 0==Res[i]) { continue; } else { flag=1; cout<<Res[i]; } } cout<<endl; delete[] Res; system("pause"); return 0;}
2.
输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。
* 要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符
#include<iostream>#include<string>using namespace std;string GetConvertString(string s);int main(){string input;cin>>input; cout<<GetConvertString(input)<<endl;system("pause");return 0;}string GetConvertString(string s){int n=s.length();for(int i=0;i<n;i++){s[i]='a'+(s[i]-'a'+5)%26;}return s;}
3.
编程的时候,if条件里面的“(”、“)”括号经常出现不匹配的情况导致编译不过,请编写程序检测输入一行if语句中的圆括号是否匹配正确。同时输出语句中出现的左括号和右括号数量,如if((a==1)&&(b==1))是正确的,而if((a==1))&&(b==1))是错误的。注意if语句的最外面至少有一对括号。提示:用堆栈来做。
输入:if((a==1)&&(b==1))
输出:RIGTH3 3
输入:if((a==1))&&(b==1))
输出:WRONG3 4
#include<iostream>#include<string>#define Max 100using namespace std;int main(){string input;cin>>input;int n=input.length(); int LeftNum=0;int RightNum=0;char a[Max];int k=0;bool flag =true;for(int i=0;i<n;i++){if('('==input[i]){LeftNum++;a[k++]=1;}else if(')'==input[i]){RightNum++;if(k>0 && 1==a[k-1]){a[k-1]=0;k--;}else{flag=false;}}if((2==i && input[2]!='(')||(n-1==i && ')'!=input[n-1])){flag=false;}}if(true==flag && a[0]==0) { cout<<"RIGHT"<<" ";}else{cout<<"WRONG"<<" ";}cout<<LeftNum<<" "<<RightNum<<endl;system("pause");return 0;}
4.手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。
输入:aaabbbccc
输出:a 3
b 3
c 3
#include<iostream>#include<string>using namespace std;int main(){int a[26]={0};string input;cin>>input;for(int i=0;i<input.length();i++){ a[input[i]-'a']++;}for(int i=0;i<26;i++){if(0!=a[i]){char tmp='a'+i;cout<<tmp<<" "<<a[i]<<endl;}}system("pause");return 0;}
5.
大数相加
#include<iostream>#include<string>using namespace std;int main(){string C;string D;cin>>C;cin>>D;string A;string B;if(C.length()>D.length()){A=C;B=D;}else{A=D;B=C;}int *res=new int[A.length()+1]; //有可能进位. 故加1int f=0; //进位标志int k=0;for(int i=A.length()-1,j=B.length()-1;i>=0;i--,j--){ int m1=A[i]-'0';int m2;if(j>=0){m2=B[j]-'0';}else{m2=0;}if(1==f){f=0;m1=m1+1;}if(m1+m2<10){res[k++]=m1+m2;}else{f=1;res[k++]=m1+m2-10;}}if(1==f){res[k++]=1;}for(int j=k-1;j>=0;j--){cout<<res[j];}cout<<endl;system("pause");return 0;}
0 0
- 常见编程题
- 常见编程题
- 字符串常见编程题
- 常见编程题
- 常见笔试编程题
- 常见编程题
- 常见面试编程题
- 常见编程题
- 常见java笔试-编程题
- 几个常见JAVA编程题
- C语言常见编程题【索引】
- C/C++常见的编程题
- JAVA面试常见编程题总结
- 面试常见编程题专题一:链表
- java面试之常见编程题
- 面试常见的Js编程题
- 2.前端常见面试编程题整理
- 0817 Java面试之常见编程题
- hdu2023求品均成绩
- CodeBlock 快捷键大全
- strcpy和memcpy的区别
- linux中pid gid tgid tid的区别和联系
- leetcode 之 Jump Game
- 常见编程题
- Linux下使用socket传输文件的C语言简单实现
- Eclipse+Spark 开发
- leetcode AC rates over 40%按从高到低
- 静态编译FFMPEG的指令并在工程引用.a文件
- 设置View渐变颜色
- Android WebView 因重定向无法正常goBack()解决方案
- jpa双向多对多关系
- [leetcode] Remove Duplicates from Sorted List II