紧急求助:c语言编程!!!

来源:百度知道 编辑:UC知道 时间:2024/05/12 19:42:26
1、输入一个十进制整数,转换成二进制并输出
2、数组a包括10个整数(任意输入),求数组a中各相邻两个元素之和,结果仍存放在数组a中。
(在原数组中实现,不能使用另一个数组。)并按每行3个元素输出结果。如:1,2,3,4,…输出3,5,7,…

3、给定两个已经按从小到大排列的int型数组,每个数组有5个元素,现在要求将这两个数组合并到另一个大一点的数组c中,
并且合并以后的数据仍然按从小到大排列。

例: 已知: int a[5]={1,3,5,7,9};
int b[5]={2,4,6,18,20};
int c[10];

则排序完成后,数组c中的内容为:
{1,2,3,4,5,6,7,9,18,20}

4、输入任意两个11位的十进制整数,按手算的方法计算出它们的乘积.

以上题均用循环语句做,请C语言高手帮帮忙!!!
不胜感激~~~~

1,解:源程序如下:
main()
{
int a[10],x,i,j=0;
printf("enter 10 jinzhi:\n");
scanf("%d",&x);
printf("%d(10)=",x);
while (x)
{
a[j++]=x%2;
x=x/2;
}
for (i=j-1;i>=0;i--)
printf("%d",a[i]);
printf("(2)");
}
2,解:源程序如下:
main()
{
int a[10],n=0,i,j,z=0;
clrscr();
printf("enter 10 numberes:\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<10;i++)
a[n++]=a[i]+a[i+1];
for (j=0;j<n-1;j++)
{
printf("%3d",a[j]);
if ((++z)%3==0)
printf("\n");
}
}
3,解:源程序如下:
main()
{
int a[5]={1,3,5,7,9},b[5]={2,4,6,18,20};
int c[10],i,j,z=0,t;
clrscr();
for (i=0;i<5;i++)
c[z++]=a[i];
for (j=0;j<5;j++)
c[z++]=b