C语言 从键盘输入30个整数,并将他们存放到整形数组a中,以每行5个数打印出来,并打印输出其中奇数的

C语言 从键盘输入30个整数,并将他们存放到整形数组a中,以每行5个数打印出来,并打印输出其中奇数的和

#include<stdio.h>
main()
{
int i,a[30],p=0;
printf("请输入30个整数\n");
for(i=0;i<30;i++)
scanf("%d",&a[i]);
for(i=0;i<30;i++)
{
if(i%5==0)
printf("\n");
printf("%4d",a[i]);
}
for(i=0;i<30;i++)
if(a[i]%2!=0)
p+=a[i];
printf("\n其中奇数的和为%d\n",p);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-15
#include <stdio.h>

#define SIZE 30 // 宏定义数组大小

void main()
{
int array[SIZE];
int index;
int sum = 0;

printf("请给整形数组输入%d个元素:\n", SIZE);

for (index = 0; index < SIZE; index++)
{
printf("第%d个元素值:", index + 1);
scanf("%d", &array[index]);
}

printf("\n您输入的数组为:\n");

for (index = 0; index < SIZE; index++)
{
printf("%d ", array[index]);

if(4 == index % 5)
printf("\n");

if (1 == array[index] % 2)
sum += array[index];
}

printf("\n\n该数组元素的奇数和为:%d\n",sum);
}
第2个回答  2012-05-16
# include <stdio.h>

int main(void)
{
int a[30];
int i;
int val; //存放输入的整数
int sum = 0; //奇数和

for(i=0; i<30; ++i)
{
printf("请输入第%d个整数:", i+1);
scanf("%d", &val);
a[i] = val;
}

for(i=0; i<30; ++i) //输出数组
{
printf("%d ", a[i]);

if ((i+1)%5 == 0) //i+1 是5的倍数就换行
{
printf("\n");
}

if(a[i] % 2 != 0) //求奇数和
{
sum += a[i];
}
}

printf("\n\n");
printf("奇数和为:%d\n", sum);

return 0;
}
第3个回答  2012-05-15
#include<stdio.h>
main()
{
int a[30],i,sum=0;
printf("input 30 numbers:\n");
for(i=0;i<30;i++)
scanf("%d",&a[i]);
for(i=0;i<30;i++)
{
if(a[i]%2!=0)sum+=a[i];
printf("%-5.0d ",a[i]);
if((i+1)%5==0)printf("\n");
}
printf("the sum:%d\n",sum);
}
相似回答