C代码,用户输入10个数字并按照一定的顺序输出它们

问题描述:

编写一个读取10个整数的程序并打印第一个和最后一个在第一行,第二个和第九个在下一行上的第一个和最后一个,下一行的第三个和第七个 ,等等。C代码,用户输入10个数字并按照一定的顺序输出它们

Please enter 10 numbers: 
10 31 2 73 24 65 6 87 18 9 

Your numbers are: 
10 9 
31 18 
2 87 
73 6 
24 65 

到目前为止,我已经编写了要求输入的代码。我不知道如何获得输出,并且目前无法找到答案。

#include <stdio.h> 
int main (void) 
{ 
    int numbers; 

    printf("Please enter Ten numbers:"); 
    scanf("%d", & numbers); 

    printf("your numbers are: %d", numbers); 
    return 0; 
} 
+4

因此,您可以读取并打印1个数字。你能改进你的代码来阅读和打印2个数字吗? – mch

+0

因此,为了让我的代码打印两个数字,是否必须输入%2d?在我的scanf?我对编程非常陌生,但我仍然不知道如何与我的系统交谈。 – Don

+0

代码可以改进以读取两个数字。 – Don

欢迎C,唐!有很多方法可以解决这个,但我们坚持自己的阵列利用....

1)设定输入到一个数组

2)如果你能确保你的投入将是10个值。

for (i=0; i < 5; i++) 
{ 
    for j=9; j > 4; j--) 
    { 
     printf("%d %d\n", array[i], array[j]); 
    } 
} 
  • “i” 被设定为零,因为在阵列中的第一个索引位置实际上是阵列[0](未阵列[1])

您可以增量 “i”的值,而递减“j”的值,所以正朝着中心努力。说得通?

+0

我对你在说什么做了一些研究,这很有道理。只是最后一个问题。为什么J = 9?我可以看到你正在减少1的增量。这样做是否允许系统映射到中心正确? – Don

+0

如果你设置j = 9,然后说数组[j],你说“嗨计算机,去我的数组索引9(因为电脑开始索引在0,这是第10项)。它出来了;你明确地告诉它在什么地方/如何通过说j来减少(这意味着每个循环,将j的值减1),所以下一个循环,你会说:“嘿计算机,打印我的数组索引8“等等,等等;)有道理? – NamoDawn

+0

是啊!我现在明白了大声笑对不起,我几乎是一个虚拟的,当谈到这一点,我从基础知识开始。真的很感谢! – Don

int a[10], i; 
// To read 
for (i=0; i<10; i++) 
    scanf("%d", a+i); 
// To print 
for (i=0; i<5; i++) 
    printf("%d %d\n", a[i], a[(10-1)-i]); 
+0

这工作,你到底怎么来这个剧本?有什么方法可以告诉我你的步骤获得这个答案?我正在尽力学习编码。 – Don