C语言用指针法输入12个整数,然后按每行4个数输出(刷题)

Sometimes slightly lower the head, perhaps our way of life will be more wonderful, our ability will improve.
译文:有时稍微低下头,或许我们人生路会更加精彩,我们的能力也会有所长进。

题目描述:用指针法输入12个整数,然后按每行4个数输出

输入

输入包含一行,有12个整数。

输出

按顺序,每行输出4个整数。

样例输入:
1 2 3 4 5 6 7 8 9 10 11 12

样例输出:
1 2 3 4
5 6 7 8
9 10 11 12

代码如下:

#include<stdio.h>
int main(void)
{
int a[12],n,i;
    int *b=a;
    for(n=0;n<12;n++){
        scanf("%d",b++);
    }
    b=a;
    i=1;
    for(n=0;n<12;n++){
        if((n+1)/4==i){
            printf("%d",*b);
        }
        else {
            printf("%d ", *b);
        }
        b++;
        if((n+1)/4==i){
            if (i==3){
                break;
            }
            printf("\n");
            i++;
        }
    }
    return 0;
}
### 回答1: 可以使用一个循环来输入12整数,并使用指针来存储这些数。在输出时,可以使用另一个循环,每次输出4个数,并在每4个数之后换行。 ```C++ #include <iostream> using namespace std; int main() { int a[12], *p = a; // 定义数组a和指针p cout << "请输入12整数:" << endl; for (int i = 0; i < 12; i++) { cin >> *(p + i); // 输入整数并存储到数组a中 } cout << "输出:" << endl; for (int i = 0; i < 12; i++) { cout << *(p + i) << " "; // 输出整数 if ((i + 1) % 4 == 0) { cout << endl; // 每4个数换行 } } return 0; } ``` ### 回答2: 指针法是一种利用指针变量来处理数组元素或结构体成员的方法。在输入12整数的情况下,我们可以通过使用指针变量来完成输入输出任务。 首先,我们可以定义一个数组来存储这12整数,例如int nums[12]。 然后,我们可以定义一个指向第一个元素的指针变量,例如int *p = nums。 接下来,我们可以使用循环语句来依次输入12整数,例如: ``` for (int i = 0; i < 12; i++) { scanf("%d", p++); } ``` 在输入完这12整数后,我们需要按每行4个数输出。这时,我们可以使用循环语句将每4个数看作一组,例如: ``` for (int i = 0; i < 12; i += 4) { printf("%d %d %d %d\n", *(p+i), *(p+i+1), *(p+i+2), *(p+i+3)); } ``` 在上述代码中,我们使用指针变量p访问数组的每一个元素,使用*(p+i)的形式来获取数组第i个元素的值,并通过printf函数将每行4个数打印出来。 因此,通过使用指针法,我们可以方便地输入12整数,并按照每行4个数输出。这种方法既简单又高效,适用于处理各种类型和大小的数组。 ### 回答3: 指针法是C语言中一种非常重要的高级编程技术,可以通过指针来访问内存中的数据,比较灵活。 输入12整数可以通过下面这段代码实现: ```c #include <stdio.h> int main() { int arr[12]; int *p = arr; printf("请输入12整数:\n"); for(int i=0; i<12; i++) { scanf("%d", p+i); } return 0; } ``` 上面的代码中,我们定义了一个长度为12的整型数组arr和一个指向arr[0]的指针p,通过for循环和scanf函数,将用户输入12整数存到arr数组中。 接下来,我们需要按每行4个数输出12整数。可以使用一个嵌套循环来实现: ```c #include <stdio.h> int main() { int arr[12]; int *p = arr; printf("请输入12整数:\n"); for(int i=0; i<12; i++) { scanf("%d", p+i); } printf("按每行4个数输出:\n"); for(int i=0; i<3; i++) { for(int j=0; j<4; j++) { printf("%d ", *(p+i*4+j)); } printf("\n"); } for(int j=0; j<3; j++) { printf("%d ", *(p+3*4+j)); } printf("%d\n", *(p+11)); return 0; } ``` 上面的代码中,外层循环控制行数,内层循环控制每行输出的数。注意最后一行的输出方式不同,因为最后一行可能不足4个数。 以上就是用指针法输入12整数,然后按每行4个数输出的方法。在实际的编程过程中,指针法还可以用来实现动态内存分配、调用函数等高级操作,是C语言中非常重要的知识点。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值