这样效率高一些
void main()
{
int arr[5]={1,2,3,4,5};
int i=0;
int j=0;
int tem;
int n=5;
while(i<n/2)
{
tem=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=tem;
i++;
}
for(j=0;j<n;j++)
{
printf("%d ",arr[j]);
}
}
Dim a(1 To 40) As Double
Dim iMax As Integer
Dim iMin As Integer
Dim n As Integer
iMax = 1
iMin = 1
Dim s As Double
n = 40
For i = 1 To 40
a(i) = InputBox("学号为" & i & "成绩为(-1结束)")
If a(i) = -1 Then
n = i - 1
Exit For
End If
If a(iMax) < a(i) Then iMax = i
If a(iMin) > a(i) Then iMin = i
s = s + a(i)
Next i
Print "最高分为"; a(iMax); "学号为"; iMax
Print "最低分为"; a(iMin); "学号为"; iMin
Print "总分为"; s
Print "平均分为"; s / n
#include <stdioh> //包含头文件
void main() //主函数开始
{
int a[8]; //定义了一个有0——8总共9个元素的数组
int i,j,t; //定义了3个变量,其中i,j用来循环,t用来交换数据
printf("请输入8个整数:"); //输出:“请输入8个整数:”
for(i=0;i<8;i++) //这个for循环是用来将输入的8个数存入到数组中,比如:i=0,a[0]=2;i=1,a[1]=4;i=2,a[2]=8;i=3,a[3]=0;i=4,a[4]=1;i=5,a[5]=3;i=6,a[6]=8;i=7,a[7]=6;i自加到8的时候,i不再小于8,则跳出该for循环,进入下一条指令,即下一个for循环。
scanf("%d",&a[i]);
for(i=1;i<8;i++) //这里的两个for循环是用来比较这8个数的大小的,当i=1时,j=1,判断a[0]>a[1],如果是,则t=a[0],a[0]=a[1],a[1]=t。第一个for循环中,i=1时,第二个for循环控制a[0]与a[1]做比较,a[1]与a[2]做比较。。。a[6]与a[7]做比较,完成第一次比较大小排序。第一个for循环中,i=2时,完成第二次比较,i控制完成8次大比较,最后完成将此8个数从小到达的顺序排列起来。
for(j=1;j<=8-i;j++)
if(a[j-1]>a[j])
{
t=a[j-1];
a[j-1]=a[j];
a[j]=t;
}
printf("排序后的结果:");//输出“排序后的结果”
for(i=0;i<8;i++) //这个for循环控制输出8个数
printf("%d \n",a[i]);
}
不知道你明白了没有
#include <stdioh>
#include <stringh>
int main(int argc, char argv[])
{
char a[20],b[20];
int n,m,j,k;
printf ("请输入第一个集合内容\n");
scanf ("%s",a);
j=strlen(a);
printf ("请输入第二个集合内容\n");
scanf ("%s",b);
k=strlen(b);
printf ("集合的交集是:"); ///////////////////////计算2个数组的交集//////////////////// //flag标志位,index数组下标标志位 int flag=1, index=0; //c[20]保存交集的数组,d[40]保存并集的数组
char c[20]="",d[40]="";
for (n=0;n<j;n++)
{
for (m=0;m<=k;m++)
{
if(a[n] == b[m])
{
c[index++] = a[n];
break;
}
}
}
printf("\n%s\n",c); ////////////////////////////计算2个数组的并集/////////////////////// flag=1;
index=0;
for (n=0;n<j;n++)
{
for(m=0;m<index;m++)
{
if(d[m] == a[n])
flag=0;
}
if(flag)
{
d[index++]=a[n];
}
flag=1;
}
flag=1;
for (n=0;n<j;n++)
{
for(m=0;m<index;m++)
{
if(d[m] == b[n])
flag=0;
}
if(flag)
{
d[index++]=b[n];
}
flag=1;
} printf ("集合的并集是:");
printf("\n%s\n",d);
return 0;
}
以上就是关于求一个C语言数组的程序!全部的内容,包括:求一个C语言数组的程序!、利用数组编一个程序、请帮忙解释下C语言的数组程序!感谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)