华科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

相关文章
|
2月前
|
存储 算法 NoSQL
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
【C/C++ 数据结构 概念】计算机数据结构基础:探索核心概念与术语
44 0
|
26天前
|
存储 安全 程序员
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
|
2月前
|
存储 算法 C++
四则计算机实现(C++)(堆栈的应用)
四则计算机实现(C++)(堆栈的应用)
|
2月前
|
机器学习/深度学习 算法 调度
拓扑排序解析:计算机与数学的交汇点以及C++ 实现
拓扑排序解析:计算机与数学的交汇点以及C++ 实现
136 0
|
2月前
|
监控 C++
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
|
9月前
|
存储 机器学习/深度学习 C++
C/C++数据在计算机内存中的存储形式详解
C/C++数据在计算机内存中的存储形式详解
|
存储 编译器 C++
C/C++数据在计算机内存中的存储形式详解
C/C++数据在计算机内存中的存储形式详解
|
数据采集 存储 算法
【查找算法】解析学习四大常用的计算机查找算法 | C++
在数据处理的过程中,能否在最短时间内去找到目的数据,是编程开发人员非常值得关心的一个问题。所谓查找,也被称为搜索,它是指从数据文件中找出满足某些条件的记录。在数据结构中描述算法时习惯用“查找”,而在搜索引擎中找信息或资料时习惯用“搜索”。我们在电话簿中查找某人的电话号码,电话簿就像是数据文件库,而姓名就是去查找电话号码的键值。我们经常使用的搜索引擎所设计的Spider程序(网页抓取程序爬虫)会主动经由网站上的超链接“爬行”到另一个网站,搜集每个网站上的信息并且收录到数据库中,这其中就涉及到了今天要讲的查找算法。
136 0
【查找算法】解析学习四大常用的计算机查找算法 | C++
|
存储 JavaScript 前端开发
《C++语言入门经典》一第2章 与计算机交流的手段——数据的计算、输入与输出2.1 C++语言基本要素
本节书摘来自华章出版社《C++语言入门经典》一书中的第2章,第2.1节,作者 郭鑫 顾彦玲,更多章节内容可以访问云栖社区“华章计算机”公众号查看
995 0