C语言求解

(1)、定义1个一维数组:int arr[10],然后从键盘输入10个
整数,编程求出其最大值、最小值以及平均值,并在屏幕上打印输出。
(2)、定义两个字符数组:char str[80],str[80],其中字符串str1接受
从键盘输入,然后编程将字符数组str1的内容逐个拷贝的
字符数组str2中。(不予许使用库函数strcpy)
(3)、定义1个一维数组:int arr[20],然后从键盘输入20个整数,使用
冒泡法编程将该数组从小到大进行排序,并将排序后结果打印在屏幕上。
(4)、将20个数存放在一个数组中,首先使用选择法对这20个数按升序排列,
并输出排序后的结果;然后从键盘输入一个数,要求用二分查找的方法找出
该数在数组中的位置(即下标),如果该数不在数组中,则输出“无此数”。
(5)、定义1个二维数组:int arr[5][6],然后从键盘输入5行6列共30个
整数,编程求出所有元素的最大值、最小值及其下标,同时求出每行元素的平均值
,并在屏幕上打印输出。

(1)
#include <stdio.h>
void main()
{
int i,max,min,a[10];
float s=0,k;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
max=a[0],min=a[0];
for(i=0;i<10;i++)
{
if(a[i]>=max)
max=a[i];
if(a[i]<=min)
min=a[i];
s=s+a[i];
}
k=s/10;
printf("max=%d min=%d k=%5.2f\n",max,min,k);
}

(2)
#include<stdio.h>
void main()
{
int i;
char str1[80];
char str2[80];
gets(str1);
for(i=0;i<80;i++)
{
str2[i]=str1[i];
}
printf("%s",str2);
printf("\n");
}

(3)
#include<stdio.h>
void main()
{
int a[20];
int i,j,t;

printf("please input 20 num:\n");
for(i=0;i<20;i++)
scanf("%d ",&a[i]);
printf("\n");
for(j=0;j<20;j++)
for(i=0;i<20-j;i++)
if (a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted num is:\n");
for(i=0;i<20;i++)
printf("%d ", a[i]);
printf("\n");
}

(4)
#include<stdio.h>
void main()
{
int i,j,x,min,a[21],n,t,m,b,loca,flag=1,sign;
char c;
for(i=1;i<=20;i++)
scanf("%d",&a[i]);
for(i=0;i<=19;i++)
{
min=i;
for(j=i+1;j<=20;j++)
if(a[min]>a[j])min=j;
x=a[i];
a[i]=a[min];
a[min]=x;
}
for(i=1;i<=20;i++)
printf("%4d",a[i]);
printf("\n");
while(flag)
{scanf("%d",&n);
sign=0;t=0;b=19;
if((n<a[0])||(n>a[19]))
loca=-1;
while((!sign)&&(t<=b))
{
m=(b+t)/2;
if(n==a[m])
{
loca=m;
printf("Has found %d,its position is %d\n",n,loca);
sign=1;
}
else if(n<a[m])
b=m;
else
t=m;
}
if(!sign||loca==-1)
printf("can not fint %d.\n",n);
printf("continue or not(Y/N?");
scanf("%c",&c);
if(c=='N'||c=='n')
flag=0;
}
}

(5)
#include<stdio.h>
void main()
{
int a[5][6],max,min,b,c,d,e,i,j;
float Ave[5]={0,0,0,0,0};
for(i=0;i<=4;i++)
for(j=0;j<=5;j++)
scanf("%d",&a[i][j]);
max=a[0][0];min=a[0][0];
for(i=0;i<=4;i++){
for(j=0;j<=5;j++)
{ if(a[i][j]>max)
{ max=a[i][j];b=i;c=j;
}
if(a[i][j]<min)
{
min=a[i][j];d=i;e=j;
}
Ave[i]=Ave[i]+a[i][j];

}
}
printf("Maximum=a[%d][%d]=%d\n",b,c,max);
printf("Minimun=[%d][%d]=%d\n",d,e,min);
for(i=0;i<=4;i++)
printf("Average=%f ",Ave[i]/6);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-31
#include <stdio.h>
void main()
{int arr[10];int i; int max,min,temp;float aver,sum=0;
for(i=0;i<10;i++)
{
scanf("%d",&arr[i]);
sum=sum+arr[i];
}
aver=sum/10;
max=arr[0];min=arr[0];
for(i=1;i<10;i++)
{
if(arr[i]>max)
{temp=arr[i];
arr[i]=max;
max=temp;
}
if(a[i]<min)
{temp=arr[i];
arr[i]=max;
max=temp;
}
printf("最小值是%d\n",min);
printf("最大值是%d\n",max);
printf("平均值是%8.0f\n",aver);
}
其他几题也是类似的,你可以自己尝试写下,希望你可以学会

}
第2个回答  2020-01-13
第3个回答  2011-03-31
5个题 悬赏50分我给你做
相似回答