一个java问题:怎么固定输入每行10个数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个java问题:怎么固定输入每行10个数?相关的知识,希望对你有一定的参考价值。
在10~1000的数字之间,输出能被3和7整除的数,每行显示10个。
我的代码是这样的:
输出的时候发现都不是每行10个,而是这样:
咋办??
首先找到能满足题意的能被3和7整除的数,然后按下列条件输出:
当一行输出少于10个时继续在本行输出,否则换行输出。
代码如下:
public class Fpublic static void main(String[] args)
int k = 0;
int count = 0;
for (int i = 0; i <= 1000; i++)
if (((i % 3) != 0) || ((i % 7) != 0))
continue;
k++;
// 当满足题意k能被3和7整除
if (k % 10 == 0)
// 一行输出小于10个时继续输出
System.out.println(i + " ");
else
// 当一行满足10个后换行输出
System.out.print(i + " ");
参考技术A
将代码 第16行修改成为:
System.out.print(i+" ");
System.out.print(i + " ");
println就是输出行的意思,会自动在末尾添加换行符
另外你这样写第一行只有9个,你把
if(k%10==0)
System.out.println("");;
和
System.out.print(i + " ");
交换一下顺序。本回答被提问者采纳 参考技术C 增加一个int型变量n=0.每有一个数符合要求就n++.输出的时候用n%10,为0就换行
输出i的时候要用print()
你用println()就换行了. 参考技术D 把System.out.println(i)改为System.,out.print(i+"\\t");
如何用c语言实现多组数据输入,每组数据一行每行数据个数任意
例如杭电的ACM题,我的代码如下#include<stdio.h>#include<string.h>int main() char ch[100]; while(scanf("%s",ch)!=EOF) char cha; int c=0; float GPA = 0,i = 0; while(scanf("%c",&cha)!=EOF) if(cha == '\n') break; else if(cha == 'A') GPA += 4; i++; else if(cha == 'B') GPA += 3; i++; else if(cha == 'C') GPA += 2; i++; else if(cha == 'D') GPA += 1; i++; else if(cha == 'F') i++; else if(cha == ' '); else c=1; if(c == 0) printf("%.2f\n",GPA/i); else printf("Unknown letter grade in input\n"); return 0;
参考技术A 算法竞赛题目中,由于重定向,最后将会出现EOF,而EOF标志着输入的结束。为了利用EOF,算法竞赛选手无需考虑到底是什么东西(事实上,很多算法选手到今天甚至不知道这是什么,因为语言和库上知识的匮乏不影响算法竞赛选手做题)。所以我们一般直接当做输入失败处理,利用scanf返回输入成功参数的性质
典型的方法是:
例如每组数据第一个要输入的参数是p,则程序框架会这么写:
while(scanf("%d", &p) == 1)
//这里是其他参数的输入和算法过程
当第一行是三个数你可能会这么做:
当然了,刚刚那种办法是可以的,但为了使程序更漂亮:
while(scanf("%d%d%d", &a, &b, &c) == 3)
如果会使用EOF:
scanf(...) != EOF
但是注意!虽然大多数编译器的eof是-1,但是保险起见不要写-1,因为EOF是impl-def的。
输入流对象由于重载了bool,更容易:
while(std::cin>>a>>b)即可。追问
利用EOF输入多组数据我会使用,但是如何理解 while(~scanf("%s",ch)!=NULL)
。。。
while(scanf("%c",&ch)!=EOF)
。。。
这种方法
这道题没有说明输入多少行数据,也没有说明每行输入多少个数据
以上是关于一个java问题:怎么固定输入每行10个数?的主要内容,如果未能解决你的问题,请参考以下文章