一 第一题
- 题目:输入10个数,找出最大数及最大数的下标.
- 代码示例
#include <stdio.h>
//定义全局变量
int position;
//封装初始化二维数组的函数
void InitArr(int arr[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("请输入第%d个的元素:",i+1);
scanf("%d",&arr[i]);
}
}
//定义找对最大值的函数
int FoundMax(int arr[],int len)
{
int i;
int max;
max=arr[0];
for(i=0;i<len;i++)
{
if(max<arr[i])
{
max=arr[i];
position=i+1;
}
}
return max;
}
//主函数
int main()
{
//二维数组的定义
int arr[10];
int max;
//求二维数组的长度
int len;
len=sizeof(arr)/sizeof(arr[0]);
//调用初始化数组的函数
InitArr(arr,len);
//调用找最大值的函数
max=FoundMax(arr,len);
//输出最大元素的相关信息
printf("第%d个的数最大,是:%d",position,max);
return 0;
}
- 成果展示
-
报错与总结
- 忘记在主函数接收被调用函数的返回值,导致最大值无法正常输出
- 测试了定义数组后但未初始化数组时,数组的长度是可以计算的
二 第二题
- 题目:封装冒泡排序的函数
- 代码示例
#include <stdio.h>
//封装初始化数组的函数
void InitArr(int arr[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("请输入第%d个的元素:",i+1);
scanf("%d",&arr[i]);
}
}
//封装冒泡排序函数
void BubbleSort(int arr[],int len)
{
int i;
int j;
int temp;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-1;j++)
{
if(arr[j]<arr[j+1])
{
temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;
}
}
}
}
//封装打印数组函数
void PrintArr(int arr[],int len)
{
int i;
puts("数组arr里的元素从大到小遍历输出为:");
for(i=0;i<len;i++)
{
printf("%d,",arr[i]);
}
}
//主函数
int main()
{
//定义数组及相关数据
int arr[5];
int len=sizeof(arr)/sizeof(arr[0]);
//调用初始化数组函数
InitArr(arr,len);
//调用冒泡排序函数
BubbleSort(arr,len);
//调用打印函数
PrintArr(arr,len);
return 0;
}
- 成果展示
- 报错总结
无
三 第三题
- 题目:封装选择排序的函数
- 代码示例
#include <stdio.h>
//封装初始化数组的函数
void InitArr(int arr[],int len)
{
int i;
for(i=0;i<len;i++)
{
printf("请输入第%d个的元素:",i+1);
scanf("%d",&arr[i]);
}
}
//封装冒泡排序函数
void BubbleSort(int arr[],int len)
{
int i;
int j;
int temp;
for(i=0;i<len-1;i++)
{
for(j=i+1;j<len;j++)
{
if(arr[i]<arr[j])
{
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
//封装打印数组函数
void PrintArr(int arr[],int len)
{
int i;
puts("数组arr里的元素从大到小遍历输出为:");
for(i=0;i<len;i++)
{
printf("%d,",arr[i]);
}
}
//主函数
int main()
{
//定义数组及相关数据
int arr[5];
int len=sizeof(arr)/sizeof(arr[0]);
//调用初始化数组函数
InitArr(arr,len);
//调用冒泡排序函数
BubbleSort(arr,len);
//调用打印函数
PrintArr(arr,len);
return 0;
}
- 成果展示
- 报错总结
无