第一种方法(但noj会显示超时)

原因是noj不以输入回车结束从而无法结束循环而导致超时

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() { //数学方法
 char a, last_a='-';
 int pri=-1, last_pri = -1;
 int sum = 0;
 while ((a = getchar())!='\n') {
  if (a=='I') {
   pri = 1;
  } else if(a=='V') {
   pri = 5;
  } else if (a=='X') {
   pri = 10;
  }
  if (last_pri==-1) { //第一次不做比较
   last_a = a;
   last_pri = pri;
   sum = pri;
   continue;
  }
  if (pri>last_pri) {
   sum=pri-sum;
  } else {
   sum+=pri;
  }
 }
 printf("%d",sum);
 return 0;
}

第二种(用到了string.h库函数,因为上述原因同样noj无法通过)

/*int main()
{
    char a[10];
    int i=0;
    while((a[i]=getchar())!='\n')  
    {
        i++;
    }
     a[i]='\0';//此时的字符串a最后一位为\0,否则为'\n'
     if(!strcmp(a,"I"))
      printf("%d",1);
     else if(!strcmp(a,"II"))
      printf("%d",2);
     else if(!strcmp(a,"III"))
      printf("%d",3);
     else if(!strcmp(a,"IV"))
      printf("%d",4);
     else if(!strcmp(a,"V"))
      printf("%d",5);
      else if(!strcmp(a,"VI"))
      printf("%d",6);
      else if(!strcmp(a,"VII"))
      printf("%d",7);
      else if(!strcmp(a,"VIII"))
      printf("%d",8);
      else if(!strcmp(a,"IX"))
      printf("%d",9);
      else if(!strcmp(a,"X"))
      printf("%d",10);
      else if(!strcmp(a,"XI"))
      printf("%d",11);
      else if(!strcmp(a,"XII"))
      printf("%d",12);
      return 0;
}*/

可以将其中while循环部分改为:

while(1)

{

a=getchar();

if(a!='X'&&a!='I'&&a!='V')

break;

.....................................//再用第一种方法的逻辑进行运算

}

第三种(,先输入整个字符串再遍历每一个输入的字符,noj可以通过)

/*#include <stdio.h>
#include <string.h>
int main()
{
    int sum;
    int x,y=-1;
    int len;
    char a[20];
    scanf("%s", a);//%s是打印字符串的意思

len = strlen(a);
    for (int i=0; i<len; i++)
    {
        if(a[i]=='I')
            x=1;
        else if(a[i]=='V')
            x=5;
        else if(a[i]=='X')
            x=10;
        if(y==-1)
        {
            sum=x;
            y=x;
            continue;
        }
        if(x>y)
            sum=x-sum;
        else
            sum=x+sum;
    }
    printf("%d",sum);
}*/

the clock noj相关推荐

  1. clock函数返回负值~ (转)

    使用clock() 函数来进行计时,时不时的返回一个很大的负数,怎么检查也检查不出错误,现在找出错误原因,给大家分享一下. 来源网页:http://kebe-jea.blogbus.com/logs/ ...

  2. 参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)

    微控制器(处理器)的运行必须要依赖周期性的时钟脉冲来驱动--往往由一个外部晶体振荡器提供时钟输入为始,最终转换为多个外部设备的周期性运作为末,这种时钟"能量"扩散流动的路径,犹如大 ...

  3. time.h中的相关计时函数time,localtime,clock等详解

    C++对时间的操作也有许多值得大家注意的地方.最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作.获取和显示等等的问题.下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法 ...

  4. 18,rand('state',sum(100*clock))

    原文链接:Matlab中rand('state',sum(clock))解析 - 火星十一郎 - 博客园 https://www.cnblogs.com/hxsyl/p/4523988.html Ma ...

  5. 9.Matlab中的repmat,clock,rand以及seed,state,twister参数

    1.repmat  ------Replicate  and tile an array -------复制并且平铺函数 2. clock 3.rand中seed,state,以及twister参数 ...

  6. 改进型 clock 页面置换算法实现_ID生成算法雪花算法介绍及实现

    1. SnowFlake 算法介绍 雪花算法是由 Twitter 公司开源的可在分布式系统中产生一个全局唯一 ID 的算法.最初 Twitter 把存储系统从 MySQL 迁移到 Cassandra, ...

  7. ACM/OI卡常技巧总结(clock大法好)

    整理的算法模板合集: ACM模板 NO.10: 特殊运算优化: 取模优化: inline int inc(int x,int v,int mod){x+=v;return x>=mod?x-mo ...

  8. fpga如何约束走线_FPGA中的CLOCK REGION和SLR是什么含义

    上期内容:FPGA中的BEL, SITE, TILE是什么含义 由BEL到SITE再到TILE,具体内容可看上篇推文,那么TILE之上是什么呢? CLOCKREGION不同类型的TILE按列排列构成了 ...

  9. python输出程序运行时间_Python计算程序运行时间—time.time()、time.clock()

    我们先来看一下python3中help(time): 关于time库中表示时间的方法,官方给出了2种: 1.从1970-01-01 00:00:00 UTC,开始到现在所经历的时间,以浮点数的'秒'来 ...

最新文章

  1. 计算机专业的第二批本科大学,我校22个专业入选第二批一流本科专业建设“双万计划”...
  2. MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION 论文笔记
  3. 机器学习笔记(四)决策树
  4. iscsi没有可用于使用快速连接登陆的目标_iSCSI的基本架构及操作简介
  5. Docker Centos 7.X部署Tomcat 并且修改Server.xml配置文件方案 并设置时区 只要十一步
  6. JavaScript(一)——变量,数据类型及转换、运算符和逻辑结构
  7. mysql update修改数据_MYsql如何用update语句修改数据,值得一看
  8. 查看window重启日志
  9. 用CubeSLAM跑自己的数据集
  10. hdu 1569 1565 (二分图带权最大独立集 - 最小割应用)
  11. pdf打印机怎么把PDF文件打印成JPG
  12. 詹克团反攻比特大陆:一场失去人心的自我挽留
  13. 计算机蓝屏用故障卡,电脑蓝屏后一直卡在正在启动界面怎么处理
  14. RTR4 拾遗(一)-- 图形学的B面
  15. 运营商精准大数据获客 网站APP访客实时截流
  16. 电源管理芯片LDO(Low Dropout Regulator)分析1
  17. 大数据分析6个核心技术
  18. 优麒麟linux系统下载,优麒麟最新版Ubuntu Kylin 16.04官方发布下载地址
  19. Python 实现视频裁剪(附代码) | Python工具
  20. 怎么使用GK888CN打印机批量打印条码

热门文章

  1. 中国国家行政边界 审图号GS(2020)4632号
  2. solidworks静力学分析概述
  3. PowerMILL中大型汽车模具3+2编程视频教程
  4. 微信小程序 java银行业务管理系统python php
  5. Bugku练习题---MISC---富强民主
  6. Hadoop HA高可用集群搭建(2.7.2)
  7. 支付渠道对接验签失败
  8. vue+elementUI日期选择器实现选择日期,自动对应周几,并且是包含所选择日期的一周的日期
  9. SQL SERVER 查询作业(Job)基本信息及执行情况
  10. Drools 规则学习