pat乙题1002

这篇具有很好参考价值的文章主要介绍了pat乙题1002。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

笔记:

1.字符数组char s[]的长度用sizeof(), strlen()

sizeof总结:
没给数组大小的就会数本来有的字符数,给了数组大小就会按给的大小
拆分写字符的就不会自带0,直接写一个字符串的就会自动带0

char arr[] = { 'a','b','c','\0' };//sizeof(arr); 的值为4,包括结束符'\0';

char arr2[] = { 'a','b','c' };//sizeof(arr2); 的值为3;这种写法不好,要记得加上字符串结束符'\0'。

char arr3[20] = { 'a','b','c','d','e','\0' };//sizeof(arr3); 的值为20, 这里要注意,并不是6.

char arr4[] = "ab";//这里会自动在字符串尾部加上字符串结束符'\0',故数组arr4的长度为3.
//sizeof(arr4); 的值为3, 这里要注意,并不是2,因为用字符串字面值初始化字符数组,会自动在字符串后面添加结束符'\0',所以数组的长度会包括'\0'.

char* p = arr4;//sizeof(p)=4,因为指针就是占4个字节的
strlen:
自带0

字符串string s长度s.size()和s.length()都是求的实际的占位,不算0的

2.switch:

switch ()
{
case 1:cout << ;
    break;
case 
}

用一个显化记录的字符串不就行了。

3.把数字sum粘贴到字符串数组s 上

sprintf(s,"%d",sum);

改:用动态字符串存入。

4.既然用的char s[],想把字符串里的数字加和,当然要用-‘0’啦!!!

5.

for循环i < strlen(str)不能用的话可以用str[i]!='\0'

6.

答案:

我的这个只通过了部分

#include<iostream>
#include<cstring>
using namespace std;

int main ()
{
    char str[110]={0},s[50]={0};//
    cin>>str;
    long long cnt=0;
    for(int i=0;str[i]!='\0';i++)
    {
        cnt+=str[i]-'0';
    }
    sprintf(s,"%lld",cnt);
    if(cnt>=0&&cnt<=9)
    {
    	switch(cnt)
    {
			case 1:
				cout<<"yin";
        		break;
        	case 2:
				cout<<"er";
				break;
        	case 3:
				cout<<"san";
				break;
        	case 4:
				cout<<"si";
				break;
        	case 5:
				cout<<"wu";
				break;
        	case 6:
				cout<<"liu";
				break;
        	case 7:
				cout<<"qi";
				break;
        	case 8:
				cout<<"ba";
				break;
        	case 9:
				cout<<"jiu";
				break;
        	case 0:
				cout<<"ling";
				break;
	}  
	}
	else
	{
		int j;
    for(j=0;j<strlen(s)-1;j++)
    {
        int a=s[j]-'0';
        switch(a)
        {
        	case 1:
				cout<<"yin ";
        		break;
        	case 2:
				cout<<"er ";
				break;
        	case 3:
				cout<<"san ";
				break;
        	case 4:
				cout<<"si ";
				break;
        	case 5:
				cout<<"wu ";
				break;
        	case 6:
				cout<<"liu ";
				break;
        	case 7:
				cout<<"qi ";
				break;
        	case 8:
				cout<<"ba ";
				break;
        	case 9:
				cout<<"jiu ";
				break;
        	case 0:
				cout<<"ling ";
				break;
		}
    }
    int b=s[j]-'0';
    switch(b)
    {
			case 1:
				cout<<"yin"<<endl;
        		break;
        	case 2:
				cout<<"er"<<endl;
				break;
        	case 3:
				cout<<"san"<<endl;
				break;
        	case 4:
				cout<<"si"<<endl;
				break;
        	case 5:
				cout<<"wu"<<endl;
				break;
        	case 6:
				cout<<"liu"<<endl;
				break;
        	case 7:
				cout<<"qi"<<endl;
				break;
        	case 8:
				cout<<"ba"<<endl;
				break;
        	case 9:
				cout<<"jiu"<<endl;
				break;
        	case 0:
				cout<<"ling"<<endl;
				break;
	}  
	}
    return 0;
    
}

重写了一个正确了文章来源地址https://www.toymoban.com/news/detail-601074.html

#include <iostream>
#include<cstdio>
#include<string>
#include<vector>
using namespace std;
string a[15] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" };
int sum;
vector<string> ve;
int main()
{
    string s;
    cin >> s;
    for (int i = 0; i < s.size(); i++) sum += s[i] - '0';
    while (sum)
    {
        ve.push_back(a[sum % 10]);
        sum /= 10;
    }
    for (int i = ve.size() - 1; i >= 0; i--)
    {
        cout << ve[i];
        if (i)cout << " ";
    }
    return 0;
}

到了这里,关于pat乙题1002的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 菜鸟记录:c语言实现PAT甲级1004--Counting Leaves

    好消息:与上题的Emergency是同样的方法。坏消息:又错了c++真的比c方便太多太多。 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Each input file contains one test case. Each case starts with a line containing  0 N 100, the number of nodes in a tree, and  M 

    2023年04月17日
    浏览(54)
  • 菜鸟记录:c语言实现PAT甲级1005--Spell It Right

     非常简单的一题了,但还是交了两三次,原因:对数组的理解不足;对数字和字符之间的转换不够敏感。这将在下文中细说。 Given a non-negative integer  N, your task is to compute the sum of all the digits of  N, and output every digit of the sum in English. Each input file contains one test case. Each case occu

    2024年02月01日
    浏览(41)
  • leetcode 1002. 查找共用字符

            个人感觉这题难度不止简单,考察到的东西还是挺多的。 首先理解题意,可以将题意转化为: 求字符串数组中 各字符串共同出现的字符的最小值。   分为三步做: 构造一个哈希表hash,初始化第一个字符串的字母出现频率。 再构造一个哈希表other_hash,用来依次统

    2024年02月09日
    浏览(89)
  • (哈希表) 1002. 查找共用字符 ——【Leetcode每日一题】

    难度:简单 给你一个字符串数组 words ,请你找出所有在 words 的每个字符串中都出现的共用字符( 包括重复字符 ),并以数组形式返回。你可以按 任意顺序 返回答案。 示例 1: 输入:words = [“bella”,“label”,“roller”] 输出:[“e”,“l”,“l”] 示例 2: 输入:words = [“

    2024年02月08日
    浏览(60)
  • 整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

    目录 一、关于 sockjs-client 依赖包 二、关于 highlight 依赖包 三、关于 swiper 依赖包 四、IE 不支持 ES6 语法 五、第三方插件引入导致 六、本地环境正常,生产环境仍旧白屏 这篇文章主要介绍了 Vue 项目在 IE 浏览器显示白屏并报错 SCRIPT1002: 语法错误 的案例 Bug 背景 :接手一个新

    2024年02月06日
    浏览(45)
  • Java语言开发在线小说推荐网 小说推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习开发

    1、开发工具和使用技术 MyEclipse10/Eclipse/IDEA,jdk1.8,mysql5.5/mysql8,navicat数据库管理工具,tomcat,SSM(spring+springmvc+mybatis)开发框架,jsp页面,javascript脚本,jquery脚本,bootstrap前端框架(用户端),layui前端框架(管理员端),layer弹窗组件等。 2、实现功能 前台用户包含:注

    2023年04月26日
    浏览(84)
  • NAT与PAT

        NAT(Nct.work Adldrnns Trans l at.i on)又称为网络地址转换,用于实规私不网络和公不网络之问的互访。 公有网络地址(以下简称公网地址)是指在互联网上全球唯一的IP地址。2019年11月26日,是人类互联网时代值得纪念的一-天,全球近43亿个IPv4地址己正式耗尽。 私有网络地址(以下简

    2024年02月11日
    浏览(37)
  • PAT 甲级【1010 Radix】

    本题范围long型(35)^10 枚举radix范围上限pow(n/a0,1/m)上,考虑上限加1.范围较大。使用二分查找枚举 代码如下 本页面将简要介绍二分查找,由二分法衍生的三分法以及二分答案。 二分查找(英语:binary search),也称折半搜索(英语:half-interval search)、对数搜索(英语:logar

    2024年02月08日
    浏览(39)
  • PAT B1049

    题目 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 0.1, 0.2, 0.3, 0.4 },我们有 (0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这 10 个片段。 给定正整数数列,求出全部片段包含的所有的数之和。

    2024年02月02日
    浏览(42)
  • PAT 甲级考试【1003 Emergency】

    题目: As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair of cities are marked on the map. When there is an emergency call to you from some other city, your job is to lead

    2024年02月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包