2 sangnanpo sangnanpo 于 2016.01.27 17:18 提问

OJ的输入输出 C语言的输入输出多组测试数据

请问OJ测试代码时是如何输入输出的?C语言如何实现多组数据的输出?比如这道题

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。
现在要求输出所有在m和n范围内的水仙花数。

Input
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;
如果给定的范围内不存在水仙花数,则输出no;
每个测试实例的输出占一行。

Sample Input

100 120
300 380

Sample Output

no
370 371

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.27 17:46

不同的oj平台是不同的,一般来说,oj平台会提供文档说明,或者一个例子测试题目,你可以先在那个上面测试你的输入输出。
一些oj平台有一定的格式容忍性,也就是说你分行或者不分行,用什么字符分行,它都可以接收。
贴出你的oj平台的地址,可以直接帮你测试。

qq_27183003
qq_27183003   Ds   Rxr 2016.01.27 20:15

参考这个:

 #include<stdio.h>
int IsNarcissus(int n)
{
 int i,j,k;
 i=n/100;
 j=n/10;
 k=n;
 if(n==i*i*i+j*j*j+k*k*k) return 1;
 return 0;
}
int main(int m,int n)
{
 while(~scanf("%d%d",&m,&n))
 {
  while(!IsNarcissus(m)&&m<=n) m++;
  if(m<=n) printf("%d",m);
  else{
   printf("no\n");
   continue;
  }
  while(m<n)
    if(IsNarcissus(++m))
   printf(" %d",m);
  printf("\n");
 }
 return 0;
}
91program
91program   Ds   Rxr 2016.01.27 17:29

C语言多组数据的输出是必须按格式来输入/输出的,一般都是通过 scanf()/printf() 函数来完成。
例如:scanf("%d%d",&a,&b) 就可以完成两个整型数的输入。
printf("a=%d,%5d,%o,%x\n",a,a,a,a); 按引号内的格式输出 a 的值。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ACM输入输出--多组测试用例--C、C++、Java
最近在练习一些关于ACM的题,往往会有多组测试用例,不知道该怎么办,查找资料总结之。
ACM学习历程2——ACM题目中常用的输入输出方式
由于ACM竞赛题目的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对编程者最基本的要求。 (一)第一类输入:输入不说明有多少个Input Block,以EOF为结束标志。 Example1: Calculate A + B . Input:Each line will contain two integers A and B . Process to
ACM入门------C语言中如何实现多组数据输入输出
ACM入门,C语言多组数据输入输出
如何输入多组测试数据
Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。   Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。   Output 对于每组输入数据,输出一行,字符中间用一个空格分开。   Sample Input qwe asd zxc
ACM中多组测试数据的输入(java代码)
Java:必须是public class Main提交,并且不能带包名,输入和输出的格式一定要按照题目要求的去写,否则提交不过。输入不可用文件输入。使用Scanner input = new Scanner(System.in);1.  多组数据,每组数据一个n(5&amp;lt;= n &amp;lt;=10^6)。接下来n个整数Xi (1&amp;lt;=Xi&amp;lt;=10^6)。Sample Input41 2 3...
【精华】ACM八大输入输出格式之Python版
感谢细胞学长提供的帮助,此处应有传送门:
OJ多组测试数据的输入(Java代码实现)
Java:必须是public class Main提交,并且不能带包名,输入和输出的格式一定要按照题目要求的去写,否则提交不过。输入不可用文件输入。使用 Scanner sc=new Scanner(System.in); 1.  多组数据,每组数据一个n(5 接下来n个整数Xi (1 Sample Input 4 1 2 3 4 5 1 2
ACM标准输入输出C/C++版
对于刚开始在OJ平台上刷题的人来说,标准输入输出是一个很让人头痛的问题,个人也经历过这样的痛苦,因此在这里进行一下总结。 C++输入①只有一组测试数据 以计算a+b为例: #include < iostream > using namespace std; int main() { int a,b; cin >> a >> b; cout << a+b <
ACM新手之八大输入输出格式
在ACM题库中,不管是文件输出(输入)还是标准输出(输入),都有着一定的格式,下面我就以杭电1089——1096为例子,简单的介绍一下。 第一种:A+B for Input-Output Practice (I)  【输入】有多组输入数据,但没有具体的告诉你有多少组,只是让你对应每组输入,应该怎样输出。 【输出】有多组输出,对应着每组输入,每组输出占一行。 【代码】
JAVA中在OJ上怎么实现多组输入
代码: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) { int a = in.nextInt(); int b = i