大连理工大学大一C语言程序设计第七周作业参考答案
本文档仅用于已做完作业的同学进行参考,或者感觉到写作业有些吃力的同学进行学习和理解,并不是想给同学们提供抄答案的机会,望周知!!!
以下代码均为我自己个人答案,如有问题或者更好的方法欢迎在评论区留言和指正!!!
第一题
#include <stdio.h>
int main()
{
int a[6];
int i;
for (i = 0; i < 6; i++)
scanf("%d",&a[i]);
for (i = 5; i >= 0; i--)
printf("%d\n", a[i]);
return 0;
}
第二题
#include <stdio.h>
int main()
{
int a[5];
int i,j,temp;
for (i = 0; i < 5; i++)
scanf("%d", &a[i]);
for (i = 0; i < 5; i++)
{
for(j=0;j<5;j++)
if (a[j] < a[j+1])
{
temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
printf("次最大值=%d", a[2]);
return 0;
}
第三题
#include <stdio.h>
#define N 6
int main()
{
int i, j;
int a[N];
int num,max, temp;
for (i = 0; i < N; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < N; i++)
{
num= i;//max先定义给第一个值,在做后续交换,如果未定义max给初值,if语句可能出现没办法给max赋值的情况
max = a[num];
for (j = 0; j < N; j++)
{
if (a[num] <a[j])//搜索了前方的大小 会出现补漏的情况 否则max为随机值
{ //若将j=0改为j=i且不将max初定义则报错
max = a[j];
num= j;
}
}
}
temp = a[N-1];
a[N-1] = max;
a[num] = temp;
for (i = 0; i < N; i++)
{
printf("%d\n", a[i]);
}
return 0;
}