华科2017年计算机学院机试题(c++)

简介: 华科2017年计算机学院机试题(c++)

1685017588132.jpg

分析:直接记录字符对应数字进行输入输出

#include<iostream>
using namespace std;
int main(){
  char c;
  cin>>c;
  if('A'<=c&&c<='Z'){
    int n=c-'A';
    for(int i=0;i<=n;i++)
    {
      for(int j=0;j<i;j++)
      cout<<"  ";
      for(int k=0;k<=n-i;k++)
      {
        char s='A'+k;
        cout<<s<<" ";
      }
      for(int k=n-i-1;k>=0;k--){
        char s='A'+k;
        cout<<s<<" ";
      }
      cout<<endl;
    } 
  }
    if('a'<=c&&c<='z'){ //两个部分可以统一处理减少代码
    int n=c-'a';
    for(int i=0;i<=n;i++)
    {
      for(int j=0;j<i;j++)
      cout<<"  ";
      for(int k=0;k<=n-i;k++)
      {
        char s='a'+k;
        cout<<s<<" ";
      }
      for(int k=n-i-1;k>=0;k--){
        char s='a'+k;
        cout<<s<<" ";
      }
      cout<<endl;
    } 
  }
  return 0;
}

1685017612084.jpg

1685017619118.jpg

分析:前处理,判断字符串规格后是否在字符串末尾添0;之后将字符转化为数字,再转字符添到末尾即可。

#include<iostream>
#include<string>
using namespace std;
string news;
int main(){
  string str;
  getline(cin,str);
  if(str.size()%2)str+="0";
  int sum=0;
  for(int i=0;i<str.size();i++){
    sum=sum*10+str[i]-'0';
    if(i%2){
      sum+=32;
        news+=sum;
      sum=0;
    }
  }
  cout<<news<<endl; 
  return 0;
}

1685017637943.jpg

3.任意两个大数(正数)相加

分析:因为可能会溢出,不妨用字符串模拟相加结果,有点类似于两个链表相接的题目

#include<iostream>
#include<string>
using namespace std;
int main(){
  string a,b,c;
  getline(cin,a);
  getline(cin,b);
  int k=0;//进位标识符
   int n=a.size(),m=b.size();
   //下面步骤类似于两链表拼接
   while(m&&n) {
    int h=a[--n]+b[--m]-'0'-'0'+k;
    c+=h%10+'0';
    k=h/10;
   }
   while(n>0){
    int h=a[--n]-'0'+k;
    c+=h%10+'0';
    k=h/10;
   }
   while(m>0){
    int h=b[--m]-'0'+k;
    c+=h%10+'0';
    k=h/10;
   }
  if(k)//进位到最高位 
  c+=k+'0';
  for(int i=c.size();i>0;){
    cout<<c[--i];
  }
  cout<<endl;
  return 0;
}

1685017660438.jpg

相关文章
|
6月前
|
存储 算法 NoSQL
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
71 0
|
1月前
|
存储 编译器 C语言
深入计算机语言之C++:类与对象(上)
深入计算机语言之C++:类与对象(上)
|
1月前
|
存储 分布式计算 编译器
深入计算机语言之C++:C到C++的过度-2
深入计算机语言之C++:C到C++的过度-2
|
1月前
|
编译器 Linux C语言
深入计算机语言之C++:C到C++的过度-1
深入计算机语言之C++:C到C++的过度-1
|
5月前
|
存储 安全 程序员
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
|
6月前
|
存储 算法 C++
四则计算机实现(C++)(堆栈的应用)
四则计算机实现(C++)(堆栈的应用)
|
6月前
|
机器学习/深度学习 算法 调度
拓扑排序解析:计算机与数学的交汇点以及C++ 实现
拓扑排序解析:计算机与数学的交汇点以及C++ 实现
181 0
|
6月前
|
监控 C++
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
|
存储 机器学习/深度学习 C++
C/C++数据在计算机内存中的存储形式详解
C/C++数据在计算机内存中的存储形式详解
|
机器学习/深度学习 Rust 安全
华为OD 2023机试题java python c++ go rust
华为OD 2023机试题java python c++ go rust
235 0
华为OD  2023机试题java python c++ go  rust