我编写了以下程序来实现已排序数组的二进制搜索:
int flag=0;
void binarysearch(int x, int a[], int m, int n)
{
int middle=(m+n)/2;
if(a[middle]==x)
{
printf("%d has been found at postion %d!\n", x, middle+1);
flag=1;
}
else
if(x > a[middle])
binarysearch(x, a, middle, n);
else
if(x < a[middle])
binarysearch(x, a, m, middle);
}
main()
{
int i, size, x;
int a[100];
printf("Enter the size of the list : ");
scanf("%d", &size);
printf("Enter the list items in ascending order : \n");
for (i=0; i<size; i++)
scanf("%d", &a[i]);
printf("Enter the …Run Code Online (Sandbox Code Playgroud) 为什么认为不起作用?它只是打印零.然而,当我使用索引值为"i"的普通for循环并在循环体内使用"a [i]"时,它可以工作.
问题不在于打印循环,因为它不会打印值,即使是正常的for循环也是如此.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] a = new int[5];
for (int i : a)
{
System.out.println("Enter number : ");
i=s.nextInt();
}
System.out.println("\nThe numbers you entered are : \n");
for (int i : a)
{
System.out.println(i);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我需要在共享主机服务上安装Composer.此服务支持cURL,但不支持SSH访问.因此,我无法从命令行运行cURL命令.
是否可以在没有命令行的情况下安装cURL?也许我只运行一次PHP脚本?
package xyz;
import javax.swing.Timer;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class XYZ {
public static void main(String[] args) throws InterruptedException {
class TimeClass implements ActionListener {
private int counter = 0;
@Override
public void actionPerformed(ActionEvent e) {
counter++;
System.out.println(counter);
}
}
Timer timer;
TimeClass tc = new TimeClass();
timer = new Timer (100, tc);
timer.start();
Thread.sleep(20000);
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中:
应该在main()函数内创建TimeClass.否则,它会显示错误"非静态变量,这不能从静态上下文中引用".为什么是这样?
当我使用TimeClass的访问说明符如public或private时,我得到了一个非法的表达式错误启动.为什么是这样?
假设输入是两个整数值.我想将两个整数值转换为二进制,执行二进制加法,并给出带有忽略的结果(等价整数).我该怎么做呢
想到的一个想法是以某种方式将它们转换为二进制字符串并使用算法进行二进制加法,然后忽略进位(如果进位存在则从字符串中删除进位字符).
样本输入
一个数字:1秒数:3
样本输出
2说明:和的最低位是1 + 1 = 0下一位是0 + 1 = 1(前一位的进位被丢弃)答案是二进制10,即2.