PAT (Basic Level) Practice (中文)1024

1076 Wifi密码(C语言) 题目描述: 下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项... 阅读详情

1024 科学计数法 (20分)

这个题目不难但是真的很烦人
注意题中的9999字节理解为字符串长度最大为9999

								第一遍写的时候的拙劣代码
#include <cstdio>
#include <cstring>
char str[10010];
char floatStr[10000];
int main()
{
    char s1,s2,iter;
    int i,j = 0,expStr = 0,r = 1,k;
    
    scanf("%s", str);
    s1 = str[0];
    if(s1 == '-')
        printf("%c", s1);
    iter = str[1];
    for(i = 3;str[i] != 'E';i++)
        floatStr[j++] = str[i];
    floatStr[j] = '\0';
    s2 = str[++i];
    for(k = strlen(str)-1;k > i;k--,r *= 10)
        expStr += (str[k]-'0')*r;
    if(s2 == '+')
    {
        printf("%c", iter);
        for(k = 0;k < expStr;k++)
        {
        	if(floatStr[k])
            	printf("%c", floatStr[k]);
        	else
        		printf("0");
        }
        if(k < strlen(floatStr))
        {
        	printf(".");
        	for(k = expStr;floatStr[k] != '\0';k++)
            	printf("%c", floatStr[k]);
        }
    }
    else
    {
        printf("0.");
        for(k = 0;k < expStr-1;k++)
            printf("0");
        printf("%c",iter);
        printf("%s", floatStr);
    }
        
    return 0;
}

基本思路就是匹配字符E和小数点然后计算,不过因为思路很乱代码的可读性和美观性都不强。还好都能通过样例。

									第二种写法(美化了亿下)
#include <cstdio>
#include <cstring>
int main()
{
    char str[10010];
    int len,exp = 0,pos = 0;
    
    scanf("%s", str);
    len = strlen(str);
    if(str[0] == '-') printf("-");
    while(str[pos] != 'E')
        ++pos;
    for(int i = pos+2;str[i] != '\0';i++)
        exp = exp*10+str[i]-'0';
    if(exp == 0)
        for(int i = 1;i < pos;i++)
            printf("%c", str[i]);
    if(str[pos+1] == '-')
    {
        printf("0.");
        for(int i = 0;i < exp-1;i++)
            printf("0");
        printf("%c", str[1]);
        for(int i = 3;i < pos;i++)
            printf("%c", str[i]);
    }
    else
    {
        for(int i = 1;i < pos;i++)
        {
            if(str[i] == '.') continue;
            printf("%c", str[i]);
            if(i == exp+2 && exp != pos-3)
                printf(".");
            
        }
        for(int i = 0;i < exp-pos+3;i++)
            printf("0");
    }
    
    return 0;
}

霍舒服多了…之前写的是什么玩意儿。。。

1024 科学计数法【PAT (Basic Level) Practice (中文)】 知识点: - C程序设计/数组/字符串 阅读详情

相关推荐

Python环境搭建和LabVIEW中的调用

本文主要介绍Python相关的环境搭建、Anaconda的使用以及在LabVIEW中调用Python的方法。

lvxisi的博客 6391

C++/Python PAT乙级1076 Wifi密码 (15分)

下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习, 现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~” —— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译 成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只...

qq_42344132的博客 663

Ubuntu环境下读取罗技G29方向盘信息

Ubuntu环境下读取罗技G29方向盘信息

工大机器人工作室 3475

1076 Wifi密码(15 分)

1076 Wifi密码(15 分) 下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每...

码奴生来就只知道前进 3942

ENSP:小型企业网络拓扑设计

包含的技术:ospf、dhcp中继、ac+ap、vrrp+mstp、acl、浮动路由、静态路由、vlan划分

weixin_45921302的博客 1万+

13-单片机模块化程序: 单片机AT指令配置模块程序模板(非阻塞版)

资料源码:https://gitee.com/yang456/OpenProgrammingModuleForMCU.git 点击加入群聊【单片机,物联网,上位机】: 说明1:知识从未如此性感。 烂程序员关心的是代码,好程序员关心的是数据结构和它们之间的关系! 说明2:学的是思想,而非程序!此代码思路适用于所有的单片机。 说明3:学会以后,下面的代码可能会跟你一辈子! 说明4:这一系列文章是为大幅度裁剪本人博客文章!使博客文章更有条理。便于推其它教程! 拷贝这两个文件到自己的工程 ..

杨奉武的博客 1281

PAT 1076 Wifi密码 (15分) C++

下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。 输入格式: 输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行按照 编号-答案 的

ganlanA的博客 939

原形网络(Prototypical Networks)基于PyTorch的实现

我在Jay2coomzz的基础上修改了数据处理方式和evaluation_model()方法,作为初学者若有不当之处恳请大家批评指正,原文链接如下: https://blog.youkuaiyun.com/weixin_38471579/article/details/102631018 数据集和源码链接将放到评论区 文章目录1 数据集一个简单的数据集介绍数据集处理2 搭建网络CNNProtonets 1 数据集 一个简单的数据集介绍 Omniglot数据集一共包含1623 类手写体,每一类中包含20 个样本。其中.

weixin_43872532的博客 6637

1076. Wifi密码 (15)-PAT乙级真题

1076. Wifi密码 (15) 下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用wifi,又怕耽误亲们的学习,现将wifi密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成wifi的密码。这里简单假设每道

柳婼 の blog 3471

忆阻器(二)——忆阻模拟器

除了真实的器件,我们也可以用运放和乘法器来搭忆阻模拟器。这节将介绍数学模型、matlab仿真及multisim仿真。 一、数学模型 忆阻分为磁控和荷控两种,这里介绍三次非线性磁控忆阻模型: {I=W(φ)VW(φ)=a+3bφ2dφdt=V \begin{cases} I=W(\varphi)V \\ W(\varphi)=a+3b \varphi ^2\\ \frac{d \varphi }{dt}=V \end{cases} ⎩⎪⎨⎪⎧​I=W(φ)VW(φ)=a+3bφ2dtdφ​=V​ 这里的WWW

http://www.icfgblog.com/ 1万+

【数据集】中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

中国大气污染物数据集CHAP(1km空间分辨率)-韦晶团队

WW、forever的博客 2599

PAT 乙级 (Basic Level) Practice (中文)1024

1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。 输入格式: 每个输入包含 1...

Arthur的博客 253

【Simulink教程案例18】基于simulink的基础OFDM+64QAM发射接收链路仿真

OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复用技术,实际上OFDM是MCM(Multi Carrier Modulation),多载波调制的一种。通过频分复用实现高速串行数据的并行传输, 它具有较好的抗多径衰落的能力,能够支持多用户接入。OFDM技术由MCM(Multi-Carrier Modulation,多载波调制)发展而来。OFDM技术是多载波传输方案的实现方式之一,它的。

FPGA/MATLAB学习教程/源码/项目合作开发 1990

PAT (Basic Level) Practice (中文) 1024 科学计数法

题目链接 #include<stdio.h> int main() { char a[100000]; int b,c,d=0; scanf("%s",a); if(a[0]=='-') printf("-"); for(b=1;a[b]!='E';) b++; for(c=b+2;a[c]!='\0';c++) d=d...

qwjy的博客 494

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

PAT(Basic Level) Practice (中文) 1024

【Basic Level】 *1024 #include <iostream> #include <cmath> #include <string> #include <algorithm> #include <iomanip> #include <cctype> #include <vector> using namespace std; int main() { int a[10] = {}; int

weixin_43437884的博客 118

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

PAT (Basic Level) Practice (中文)1024 科学计数法

PAT (Basic Level) Practice (中文)1024 科学计数法

ling_X_super的博客 187

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

PAT (Basic Level) Practice (中文)1024 科学计数法 (20 分)

1024科学计数法(20分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。 输入格式: 每个...

菱形继承 428

PAT (Basic Level) Practice (中文)1024 科学计数法 python

出处: https://pintia.cn/problem-sets/994805260223102976/problems/994805297229447168 1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并

Nothing is final!!! 259

PAT (Basic Level) Practice (中文) 1024 科学计数法 (20 分)(C++)

1024 科学计数法 (20 分) 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。 输入格式: 每个输入包含 1...

izhxxx的博客 251

PAT (Basic Level) Practice (中文)——1024 科学计数法 (20分)

科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。 现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。 输入格式: 每个输入包含 1 个测试用例,即一个以科学计数法表示的实数 A。该数字的存储长度不超过 9999 字节,且其指数的绝对值不超过 9999。 输出格式: 对每个测试用

沃然 244

PAT (Basic Level) Practice (中文)1024 个位数统计

PAT (Basic Level) Practice (中文)1024 个位数统计

qq_52681025的博客 132
上一篇: PAT (Basic Level) Practice (中文)1014
下一篇: 指针里的绕口定义
小徐变大徐
博客等级 码龄7年 7粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值