第1个回答 2010-06-20
1.
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int a[10],i,ma;
for (i = 0; i < 10; i++) {
scanf("%d",&a[i]);
if (!i) ma=0;
else if (a[ma]<a[i]) ma=i;
}
printf("%d号同学成绩最高,得分为%d\n",ma+1,a[ma]);
return 0;
}
//---------------------------------------------------------------------------
2.
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int a[5]={1,3,5,7,9};
int b[5]={2,4,6,8,10};
int c[10],i=0,j=0,k=0;
while (i<5&&j<5) /*利用归并排序算法对a和b数组进行合并,将结果保存到c数组中*/
if (a[i]<b[j]) {
c[k++]=a[i++];
}
else {
c[k++]=b[j++];
}
while (i<5)
c[k++]=a[i++];
while (j<5)
c[k++]=b[j++];
for (i = 0; i < 10; i++) { /*输出c数组元素*/
printf("%d ",c[i]);
}
return 0;
}
//---------------------------------------------------------------------------
3.
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int a[10],b[10];
int i,j;
srand(time(NULL)); /*初始化随机数种子*/
for (j=i = 0; i < 10; i++) {
a[i]=rand()%9000+1000; /*利用随机数生成10个四们整数*/
printf("%d ",a[i]); /*输出这10个四位整数*/
if (a[i]/1000+a[i]/10%10==a[i]%10+a[i]/100%10) b[j++]=a[i];/*将符合要求的数字保存到b数组*/
}
putchar('\n');
for (i = 0; i<j; i++) { /*输出保存在b数组中的符合条件的整数*/
printf("%d\n",b[i]);
}
return 0;
}
//---------------------------------------------------------------------------
第2个回答 2010-06-20
1。#include <stdlib.h>
#include <stdio.h>
int main()
{
int a[10],i,max=0,m;
printf("输入10个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
if(max<a[i])
{
max=a[i];
m=i+1;
}
printf("最高分为:%d\n第%d位 ",max,m);
system("pause");
}
2。
#include <stdlib.h>
#include <stdio.h>
int main()
{
int a[5]={1,3,4,6,7},b[5]={0,2,5,8,9},c[10]={0},i,j,n=0;
for(i=0,j=0;n<10;)
if(a[i]<b[j])
{
c[n]=a[i];
i++;
n++;
}
else
{
c[n]=b[j];
j++;
n++;
}
printf("排序后:\n");
for(i=0;i<10;i++)
printf("%d ",c[i]);
system("pause");
}
3。
#include <stdlib.h>
#include <stdio.h>
int sum(int x)
{
int sum=0;
int i;
for(i=0;x>0;i++)
{
sum+=(x%10);
x/=10;
}
return sum;
}
int main()
{
int a[10]={1234,1325,6543,7654,4456,9876,4325,7546,5679,2456},b[10]={0},s[10]={0};
int i,j,n=0;
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
if(sum(a[i])==sum(a[j]))
{
if(s[i]==0)
{
b[n]=a[i];
n++;
s[i]=1;
}
if(s[j]==0)
{
b[n]=a[j];
n++;
s[j]=1;
}
}
}
printf("符合数据的数:");
for(i=0;i<n;i++)
{
printf("%d ",b[i]);
}
printf("\n");
printf("一共有%d个",n);
system("pause");
}
第3个回答 2019-09-26
1.
//---------------------------------------------------------------------------
#include
<stdio.h>
int
main(void)
{
int
a[10],i,ma;
for
(i
=
0;
i
<
10;
i++)
{
scanf("%d",&a[i]);
if
(!i)
ma=0;
else
if
(a[ma]<a[i])
ma=i;
}
printf("%d号同学成绩最高,得分为%d\n",ma+1,a[ma]);
return
0;
}
//---------------------------------------------------------------------------
2.
//---------------------------------------------------------------------------
#include
<stdio.h>
int
main(void)
{
int
a[5]={1,3,5,7,9};
int
b[5]={2,4,6,8,10};
int
c[10],i=0,j=0,k=0;
while
(i<5&&j<5)
/*利用归并排序算法对a和b数组进行合并,将结果保存到c数组中*/
if
(a[i]<b[j])
{
c[k++]=a[i++];
}
else
{
c[k++]=b[j++];
}
while
(i<5)
c[k++]=a[i++];
while
(j<5)
c[k++]=b[j++];
for
(i
=
0;
i
<
10;
i++)
{
/*输出c数组元素*/
printf("%d
",c[i]);
}
return
0;
}
//---------------------------------------------------------------------------
3.
//---------------------------------------------------------------------------
#include
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
int
main(void)
{
int
a[10],b[10];
int
i,j;
srand(time(NULL));
/*初始化随机数种子*/
for
(j=i
=
0;
i
<
10;
i++)
{
a[i]=rand()%9000+1000;
/*利用随机数生成10个四们整数*/
printf("%d
",a[i]);
/*输出这10个四位整数*/
if
(a[i]/1000+a[i]/10%10==a[i]%10+a[i]/100%10)
b[j++]=a[i];/*将符合要求的数字保存到b数组*/
}
putchar('\n');
for
(i
=
0;
i<j;
i++)
{
/*输出保存在b数组中的符合条件的整数*/
printf("%d\n",b[i]);
}
return
0;
}
//---------------------------------------------------------------------------