小编Ric*_*cky的帖子

反向打印整数数组

这是以相反顺序打印整数数组的相当简单的问题.虽然每当我尝试打印时,它最终都会显示垃圾值.以下是我的计划.

#include <stdio.h>
#include <conio.h>
int main()
{
    int temp = { '\0' };
    int num[9];
    int i;
    int j = 8;

    printf("Enter 8 numbers\n");
    for (i = 0; i < 8; i++)
    {
        scanf_s("%d", &num[i], 1);
    }
    for (i = 0; i <= j; i++, j--)
    {
        temp = num[i];
        num[i] = num[j];
        num[j] = temp;  
    }
    printf("\nThe numbers in reverse are\n");
    for (i = 0; i <=8; i++)
    {
        printf("%d\n", num[i]);
    }
    _getch(); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

假设我输入的数字从1到8,它会反向打印数字,但它打印的第一个值是垃圾值.我知道我可以使用和If语句来对抗这种情况,但有没有办法在不使用if的情况下解决这个问题?

c arrays

3
推荐指数
1
解决办法
6353
查看次数

计算输入中数字的幂

我正在用Java编写一个练习程序,以便将一个数字提升到另一个.在不知不觉中,我犯了一个特殊的错误.然而,无论我给出的输入,答案仍然是正确的.下面是一段代码.

public static void main(String args[])
{
    int count;
    int num1, num2, result = count =1;
    try(Scanner n1 = new Scanner(System.in))
    {
        System.out.println("Enter the 1st number");
        num1 = n1.nextInt();
        System.out.println("Enter the 2nd number");
        num2 = n1.nextInt();
    }
    while(count<=num2)
    {
        if(num2!=0)
        {
            result = num1*result;
            count++;
        }
        else
        {
            System.out.println(num1+" to the power "+num2+" is "+num1);
        }
    }
    System.out.println(num1+" to the power "+num2+" is "+result);
}
Run Code Online (Sandbox Code Playgroud)

关于到底发生了什么,我真的很疯狂.为什么语句"System.out.println(num1 +"到power"+ num2 +"是"+ num1)"没有打印num1的值.

以下是输出:

 {
 Enter the 1st number
 100
 Enter the 2nd …
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
696
查看次数

在java中打印文本模式

我需要在表单中打印图案

   ABCDEF FEDCBA
   ABCDE   EDCBA
   ABCD     DCBA
   ABC       CBA
   AB         BA
   A           A
Run Code Online (Sandbox Code Playgroud)

以下是我的代码:

   public static void main(String args[])
{
    char[] c = {'A','B','C','D','E','F','G'};
    int i, j;

    for(j = 5; j >= 0; j--)
    {
        for(int k = 0; k <= j; k++)
        {
            System.out.print(c[k]);
        }
        for(i = j; i >= 0; i--)
        {
            System.out.print(c[i]);
        }

        System.out.println();
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我输出

   ABCDEFFEDCBA
   ABCDEEDCBA
   ABCDDCBA
   ABCCBA
   ABBA
   AA
Run Code Online (Sandbox Code Playgroud)

达到此输出相当容易.但是,我无法提供空间.我知道产生空间的循环将介于两个for循环之间,但我无法弄清楚如何做到这一点.它困扰我一段时间.

java

0
推荐指数
1
解决办法
1690
查看次数

标签 统计

java ×2

arrays ×1

c ×1