題目是
任意輸入10個整型元素放入陣列a中,求出a中各相鄰兩個元素的和,并將這些和存在陣列b中,按每行3個元素的形式輸出。
uj5u.com熱心網友回復:
供參考:#include<stdio.h>
int main()
{
int a[10]={0},b[5]={0},i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1];
for(j=0;j<5;j++){
printf("%3d",b[j]);
if((j+1)%3==0||(j+1)==5)printf("\n");
}
return 0;
}
uj5u.com熱心網友回復:
b[5]應改為b[9]uj5u.com熱心網友回復:
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1]; //這個地方應該會越界吧,當i=9時,i+1就是10
uj5u.com熱心網友回復:
#include<stdio.h>
#define SIZE 10
int main()
{
int a[SIZE], b[SIZE]={0};
int i, j;
for(i = 0; i < SIZE; i++)
scanf("%d", &a[i]);
for (i = 0, j = 0; i < SIZE-1; i++) {
b[j++] = a[i] + a[i+1];
}
for (i = 0; i < j; i++)
printf("%d%c", b[i], (i+1) % 3 ? ' ':'\n');
/*
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1];
for(j=0;j<5;j++){
printf("%3d",b[j]);
if((j+1)%3==0||(j+1)==5)printf("\n");
}
*/
return 0;
}
供參考~
相鄰兩個元素之和,比如0 1 2 3 4 5 6 7 8 9 ,樓主的理解是0 1, 2 3等等,我的理解是0 1, 1 2, 2 3等等這樣的一組,這樣也叫相鄰兩個元素吧
uj5u.com熱心網友回復:
不會出現9,i=i+2,到8就跳出了。uj5u.com熱心網友回復:
不會出現9,i=i+2,到8就跳出了。 供參考:#include<stdio.h>
int main()
{
int a[10]={0},b[5]={0},i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1];
for(j=0;j<5;j++){
printf("%3d",b[j]);
if((j+1)%3==0||(j+1)==5)printf("\n");
}
return 0;
}
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1]; //這個地方應該會越界吧,當i=9時,i+1就是10
確實,不會,沒看你的i+=2,這個相鄰元素,理解上有分歧~
uj5u.com熱心網友回復:
不會出現9,i=i+2,到8就跳出了。 供參考:#include<stdio.h>
int main()
{
int a[10]={0},b[5]={0},i,j;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1];
for(j=0;j<5;j++){
printf("%3d",b[j]);
if((j+1)%3==0||(j+1)==5)printf("\n");
}
return 0;
}
for(i=0,j=0;i<10;i+=2,j++)
b[j]=a[i]+a[i+1]; //這個地方應該會越界吧,當i=9時,i+1就是10
確實,不會,沒看你的i+=2,這個相鄰元素,理解上有分歧~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/281451.html
標籤:C語言
上一篇:有人知道這個怎么寫嗎
下一篇:C++編程小白
