作业1:
#include87,8
#include
#includei87
int main(int argc, const char *argv[])
{
int arr[20];//定义一个长度为20的数组
int num=2; //num为循环变量
int sum=2; //数组的和
arr[0]=1;
arr[1]=1;
printf("输出数组为:\n");
printf("%d\n",arr[0]);
printf("%d\n",arr[1]);
for(num=2;num<20;num++)
{
arr[num]=arr[num-1]+arr[num-2];//斐波那契数列第三项开始,每一项为前两项的加和
printf("%d\n",arr[num]);
sum=sum+arr[num];
}
printf("该数组的和为:");
printf("%d\n",sum);
printf("\n");
return 0;
}
作业2:
#include
#include
#include
int main(int argc, const char *argv[])
{
int arr[6]; //定义一个长度为6的整形数组
int i; //定义一个循环变量
for(i=0;i<6;i++)
{
printf("请输入第%d名学生的成绩:\n",i+1);
scanf("%d",&arr[i]);
}
printf("六名学生的成绩为:\n");
for(i=0;i<6;i++)
{
printf("%d\t",arr[i]);
}
printf("\n");
int len = 6;
int j; //循环变量
int temp; //交换变量
//开始排序
for(i=1; i<6; i++) //外侧循环控制趟数
{
for(j=0; j<5; j++) //内侧循环控制元素,从0开始
{
if(arr[j]>arr[j+1])
{
temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp;
}
}
}
printf("排序后的结果为:");
for(i=0; i<6; i++)
{
printf("%d\t", arr[i]);
}
printf("\n");
return 0;
}
作业3:
#include
#include
#include
int main(int argc, const char *argv[])
{
int arr[] = {1,2,3,4,5,6,7,8,9,0};
int brr[] = {3,7,15,9,20,2,100,4};
int lena = sizeof(arr)/sizeof(arr[0]);
int lenb = sizeof(brr)/sizeof(brr[0]);
int lenc = lena
作业4:
#include
#include
#include
int main(int argc, const char *argv[])
{
double arr[10]; // 定义一个长度为10的数组
int i,j; //循环变量
int temp; //交换变量
int index; //记录最值的下标
int sum=0; // 定义一个和函数
for(i=0;i<10;i++)
{
printf("请输入第%d名学生的成绩:\n",i+1);
scanf("%lf",&arr[i]);
}
printf("十名学生的成绩为:\n");
for(i=0;i<10;i++)
{
printf("%.2lf\t",arr[i]);
}
printf("\n");
for(i=0; i<10; i++)
{
index = i; //假定当前下标对应的值为最大值
for(j=i+1; j<10; j++)
{
if(arr[index] < arr[j]) //判断当前值是不是最大值
{
index = j; //更新最大值
}
}
if(index != i) //判断待排序序列第一个是不是最大值
{
temp=arr[index];
arr[index]=arr[i];
arr[i]=temp;
}
}
printf("排序后的成绩为:");
for(i=0; i<10; i++)
{
printf("%.2f\t", arr[i]);
sum=sum+arr[i];
}
printf("\n");
double avg=(double)sum/10;
printf("学生成绩的平均分为:%.2lf",avg);
printf("\n");
int count=0;
for(i=0;i<10;i++)
{
if(arr[i] > avg)
{
count++;
}
}
printf("大于平均分同学的比重为:%.2lf%\n",(double)count/10*100);
return 0;
}
作业5:
#include
#include
#include
int main(int argc, const char *argv[])
{
int arr[4][5]={90,92,93,91,88,86,89,87,85,99,100,95,85,75,90,90,85,85,95,80};
int i,j; //循环变量
for(i=0; i<4; i++) //外侧循环控制行
{
for(j=0; j<5; j++) //内侧循环控制列数
{
printf("输出第%d行%d列的元素:", i+1, j+1);
printf("%d\n", arr[i][j]);
}
}
printf("\n");
int min; //最小值
int mini,minj; //最小值所在的下标
min = arr[0][0]; //将当前数组的第一个当做最值
mini = 0;
minj = 0;
for(i=0; i<4; i++)
{
for(j=0; j<5; j++)
{
if(min > arr[i][j])
{
min = arr[i][j];
mini = i;
minj = j;
}
}
}
printf("当前数组的最低成绩为:%d\n", min);
int max; //最大值
int maxi,maxj; //最大值所在的下标
max = arr[0][0]; //将当前数组的第一个当做最值
maxi = 0;
maxj = 0;
for(i=0; i<4; i++)
{
for(j=0; j<5; j++)
{
//拿着当前的最值跟任意一个进行比较
if(max < arr[i][j])
{
max = arr[i][j]; //更新最值
maxi = i;
maxj = j;
}
}
}
printf("当前数组的最大值:%d\n", max);
return 0;
}