
正文
c项目转换java代码 c代码转java工具
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
把下面C语言代码改成java代码
import java.util.Arrays;
import java.util.Scanner;
public class A {
static final int maxn=100000+5;
static long[] a=new long[maxn],t=new long[maxn];
static long ans=0;
static void mymerge(int x,int m,int y) {
int tx=x,tm=m+1;
int k=0;
while(tx=m tm=y) {
if(a[tx]=a[tm])
t[k++]=a[tx++];
else {
ans+=m-tx+1;
a[k++]=a[tm++];
}
}
while(tx=m) t[k++]=a[tx++];
while(tm=y) t[k++]=a[tm++];
for(int i=0;ik;i++)
a[x++]=t[i];
}
static void mergesort(int x,int y) {
if(x==y)return ;
int mid=(x+y)/2;
int xx=x,yy=y;
mergesort(xx,mid);
mergesort(mid+1,yy);
mymerge(xx,mid,yy);
//System.out.println(xx+" "+mid+" "+yy);
}
public static void main(String[] arg) {
int n,k;
Scanner input=new Scanner(System.in);
while(input.hasNext()) {
n=input.nextInt();
k=input.nextInt();
Arrays.fill(a, 0);
Arrays.fill(t, 0);
for(int i=0;in;i++) {
a[i]=input.nextLong();
}
ans=0;
mergesort(0, n-1);
if(kans)
System.out.println("0");
else
System.out.println((ans-k)+"");
}
}
}
相关问答
Q1: 把C语言代码转成Java代码
package dis;
import java.io.*;
import java.math.*;
public class dis
{
public static void main(String [] s) throws Exception
{
Float a,b,c;
double x2;
double x1;
System.out.println("请输入a, b, cc项目转换java代码的值");
BufferedReader bReader=new BufferedReader(new InputStreamReader(System.in));
a=Float.parseFloat(bReader.readLine());
b=Float.parseFloat(bReader.readLine());
c=Float.parseFloat(bReader.readLine());
if (b*b - 4*a*c = 0)
System.out.println("输入的系数不对c项目转换java代码,b2-4ac不大于0!程序退出!");
else
{
x1 = (-b + Math.sqrt(b*b - 4*a*c))/2*a;
x2 = (-b - Math.sqrt(b*b - 4*a*c))/2*a;
System.out.println("x1 = "+ x1);
System.out.println("x2 = "+x2);
}
return;
}
}
Q2: 如何将下面c语言代码转换成Java代码?
完整的直译为java方法是这样的,但是这样写dataLen的值必须小于等于数组长度,不然会出现下标越界的异常
public int accumulativeVerification(int[] data, int dataLen) {
int sum = 0;
for (int i = 0; i dataLen; i++) {
sum += data[i];
}
return sum;
}
如果是意译(计算int数组的所有数之和),那么java可以这样写
public int accumulativeVerification(int[] data) {
int sum = 0;
for (int i = 0; i data.length; i++) {
sum += data[i];
}
return sum;
}
Q3: C++代码改成java代码怎么改呀
使用词法分析可以简单的进行转换,不过问题是接口,java使用的库类和函数,c并不一定拥有,而且java运行的方式不同(java可以说是解释器的脚本,而c最终变成指令集),并不是简单给出一个函数调用位置就可以解决的,目前的话可以实现个转化器(如果你学过编译原理),但前提是不使用接口,或许我们可以像编译器对string类型的支持那样实现所有java的库操作,但这显然是鸡肋,因为这种方法写的java程序转换后是很难移植的(显然我是说硬件厂商不会为你天真的想法提供接口),并且对c风格来说是一种极大的破坏,最后生成的代码既没有效率也没有可移植性和可读性
结论是你还不如自己实现一个,即使你要转化一个大游戏,这样也有效多了
Q4: 这段C代码如何转为java代码?
public class Test {
private int HASH_LOG = 14;
private int HASH_SIZE=(1 HASH_LOG);
private int HASH_MASK=(HASH_SIZE - 1);
public Long flz_hash(Long a){
Long l1 = 2654435769L;
Long index = (a * l1) 32-HASH_LOG;
return index HASH_MASK;
}
public static void main(String[] args) {
Test test = new Test();
long a = 2;
Long index = test.flz_hash(a);
System.out.println(index);
}
}
c项目转换java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c代码转java工具、c项目转换java代码的信息别忘了在本站进行查找喔。






