C语言编程:输入一个正整数n(1<n≤10),再输入数组a的n个整数,把a中所有的后项除以前项之商

输入一个正整数n(1<n≤10),再输入数组a的n个整数,把a中所有的后项除以前项之商取整后存入数组b,再按每行3个元素的格式输出数组b中的各个元素。
急需!!!!!!

int n;
int *a, *b;
scanf("%d", &n);
a = (int *)malloc(sizeof(int)*n);
b = (int *)malloc(sizeof(int)*(n-1));
for (int i = 0; i < n; i++)scanf("%d", &a[i]);
for (int i = 1; i < n; i++) {
b[i - 1] = a[i] / a[i-1];
printf("%d,", b[i - 1]);
if (i%3 == 0)printf("\n");
}
free(a);
free(b);

追问

额……因为才刚刚学c语言,有没有简单一点的??

追答

这哪里看不懂

int n;    //变量定义
int *a, *b;//变量定义
scanf("%d", &n);//读取n的值       
a = (int *)malloc(sizeof(int)*n);//给指针a申请内存 长度为n
b = (int *)malloc(sizeof(int)*(n-1));//给指针b申请内存 长度为n-1
for (int i = 0; i < n; i++)scanf("%d", &a[i]);//从按键读n个数,送给a
for (int i = 1; i < n; i++) {//n-1次循环
    b[i - 1] = a[i] / a[i-1];//把后项除以前项,并取整送给b
    printf("%d,", b[i - 1]);//打印出来
    if (i%3 == 0)printf("\n");//三个换行
}
free(a);//释放内存
free(b);//释放内存

追问

好像还么有学释放内存……不过是看懂了的谢谢你!!

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-14
好好考试!追问

不是考试啦!!是作业!!!真的不会写!!!

相似回答