七年级第二学期的第一篇

这个大周时间好长的嘞。呆了大概有二十多天了。老师在开学前几天的课里又讲了一次数据结构。然后考了一次试,那次考的还不错。
下面讲讲这大周的题吧


首先是转盘电话:
题目描述:有一个古老的转盘电话,就像这样
这里写图片描述

如果你要拨数字N,那么你要话费N+1的时间。
输入一串字符,求拨相对应的号码需要多长时间。

思路:这其实是一道很水的题,连我都做出来了。但是还是有人没有看懂。因为他们没有看到那张图。其实那张图是很重要的,因为上面有字母对应的数字。所以,只要在上面的图中找到字母对应的数字,再加一就行了。
要一个个字符判断过去:

#include<bits/stdc++.h>
using namespace std;
string s;
int sum=0;
int main()
{
    cin>>s;
    for (int i=0;i<s.size();i++)
    {
        if (s[i]=='A'||s[i]=='B'||s[i]=='C') sum+=3;
        else if (s[i]=='D'||s[i]=='E'||s[i]=='F') sum+=4;
             else if (s[i]=='G'||s[i]=='H'||s[i]=='I') sum+=5;
                  else if (s[i]=='J'||s[i]=='K'||s[i]=='L') sum+=6;
                       else if (s[i]=='M'||s[i]=='N'||s[i]=='O') sum+=7;
                            else if (s[i]=='P'||s[i]=='Q'||s[i]=='R'||s[i]=='S') sum+=8;
                                 else if (s[i]=='T'||s[i]=='U'||s[i]=='V') sum+=9;
                                      else if (s[i]=='W'||s[i]=='X'||s[i]=='Y'||s[i]=='Z') sum+=10;
    }
    cout<<sum<<endl;
    return 0;
}

这是一段很壮观的代码。但是,其实是不用这么壮观的。
首先开一个数组,记录输入的26个字母对应的数是多少,然后再把答案加上对应的数,就好了。所以可以自己编一下,这里就不给代码了。

很多要写很长的一段代码,有时只要在数组里赋值就可以减少很长一段,所以,给数组赋值也是很重要的。


这大周还写了杨辉三角。按理来说应该在就打完了,但是不知道为什么就是这大周才打完。
很简单的题目:输入行和列,输出杨辉三角对应的数。
杨辉三角应该很熟悉吧,每一个数是上一行的数加上一行的前一个数。
但是不知道为什么,这道题我也做了很久。
思路:因为原题的数据范围是行<=30,所以可以用二维数组存储。然后再根据每次输入的查询数字,输出相对应的数。如果该数不存在就输出 Error!(感叹号也要输出)
所以就可以写成这样:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[35][35]={};
    int k,n,m;
    a[1][1]=1;
    for (int i=2;i<=30;i++)
      for (int j=1;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];
    cin>>k;
    for (int i=1;i<=k;i++)
    {
        cin>>n>>m;
        if (n<m) cout<<"Error!"<<endl;
        else cout<<a[n][m]<<endl;
    }
    return 0;
}

我原先想的还很复杂,还要输出每个数字之间的空格,但是发现和输出不一样。所以我的同桌很好心的帮我指出了错误。感谢感谢。


第一大周,状态还挺好的。加油!ヾ(◍°∇°◍)ノ゙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值