作业1
![](https://i-blog.csdnimg.cn/blog_migrate/f34a94e48cc8edc52acc8f236a209ca8.png)
代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int arr[20];
int a = 0 , b = 1 ,c ;
int i , j = 0;
for(i = 1;i <=20 ; i++ )
{
c = a + b;
arr[j] = b;
j++;
a = b ;
b = c ;
}
int sum = 0;i = 1;
for(j = 0 ;j <20 ; j++ )
{
printf("arr[%d]=%d\t",j , arr[j]);
if(i%4 == 0)
{
printf("\n");
}
i++;
sum = sum + arr[j];
}
printf("数组总和是:%d\n",sum);
return 0;
}
运行:
ubuntu@ubuntu:day6$ ./a.out
arr[0]=1 arr[1]=1 arr[2]=2 arr[3]=3
arr[4]=5 arr[5]=8 arr[6]=13 arr[7]=21
arr[8]=34 arr[9]=55 arr[10]=89 arr[11]=144
arr[12]=233 arr[13]=377 arr[14]=610 arr[15]=987
arr[16]=1597 arr[17]=2584 arr[18]=4181 arr[19]=6765
数组总和是:17710
作业2
![](https://i-blog.csdnimg.cn/blog_migrate/3fa3f081796a4a809cb2f0786cbc5bea.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
int arr[6];
int i;
//输入成绩
for( i = 0 ; i<6 ; i++)
{
printf("请输入第%d学生成绩:",i+1);
scanf("%d",&arr[i]);
if(arr[i]<0||arr[i]>100)
{
printf("输入错误,请重新输入\n");
i--;
}
}
//输出成绩
printf("学生成绩为\n");
for(i = 0 ; i < 6;i++)
{
printf("%d\t",arr[i]);
}
printf("\n");
//冒泡升序排列
int j;
int temp;
for(i=1;i<6;i++) //次数循环
{
for(j=0;j<6-i;j++) //数组排序循环
{
if(arr[j]>arr[j+1])
{
//交换三部曲
temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;
}
}
}
//输出排序后成绩
printf("排序后成绩为\n");
for(i = 0 ; i < 6;i++)
{
printf("%d\t",arr[i]);
}
printf("\n");
return 0;
}
运行:
ubuntu@ubuntu:day6$ ./a.out
请输入第1学生成绩:87
请输入第2学生成绩:65
请输入第3学生成绩:76
请输入第4学生成绩:45
请输入第5学生成绩:78
请输入第6学生成绩:98
学生成绩为
87 65 76 45 78 98
排序后成绩为
45 65 76 78 87 98
作业3
![](https://i-blog.csdnimg.cn/blog_migrate/34d1cae4f7c1d5082d0d504715864ded.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
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<lenb?lena:lenb;
int crr[lenc];
//循环ab数组
int i ,j , k = 0 ;
for(i = 0;i < lena;i++)
{
for(j = 0; j<lenb;j++)
{
if(arr[i] == brr[j])
{
crr[k] = arr[i];
k++;
}
}
}
printf("新数组中的内容是:\n");
for(i = 0; i < k ; i++)
{
printf("crr[%d]=%d\t",i , crr[i]);
}
printf("\n");
return 0;
}
运行:
ubuntu@ubuntu:day6$ ./a.out
新数组中的内容是:
crr[0]=2 crr[1]=3 crr[2]=4 crr[3]=7 crr[4]=9
作业4
![](https://i-blog.csdnimg.cn/blog_migrate/9b946c964d3b6382836bc3f3e15bfbc1.png)
代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
//输入成绩
double arr[10];
int i ;
for( i = 0 ; i<10 ; i++)
{
printf("请输入第%d名学生成绩:",i+1);
scanf("%lf",&arr[i]);
if(arr[i]<0||arr[i]>100)
{
printf("输入错误,请重新输入\n");
i--;
}
}
//选择排序
int j ;
int max,temp ; //max记录最大值的下标,temp进行交换
for(i = 0; i<10;i++) //外层循环
{
max = i ;
for(j = 1+i;j < 10 ;j++)
{
if(arr[max]<arr[j])
{
max = j;
}
}
if(max != i)
{
//交换三部曲
temp = arr[max]; arr[max] = arr[i];arr[i] = temp;
}
}
//输出成绩
int sum = 0 ;
double evg ;
j = 1 ;
printf("成绩由高到低依次是:\n");
for(i = 0; i<10 ;i++)
{
printf("%.2lf\t",arr[i]);
if( j%5 == 0)
{
printf("\n");
}
j++;
//求和
sum = sum + arr[i];
}
//求平均数
evg = sum/10 ;
printf("平均分=%.2lf\n",evg);
//比重
j = 0;
for ( i = 0 ; i <10 ;i++)
{
if(arr[i] > evg )
{
j++;
}
}
printf("大于平均分学生的比重:%d%%\n",j*10);
return 0;
}
运行:
ubuntu@ubuntu:day6$ ./a.out
请输入第1名学生成绩:67
请输入第2名学生成绩:78
请输入第3名学生成绩:89
请输入第4名学生成绩:98
请输入第5名学生成绩:87
请输入第6名学生成绩:76
请输入第7名学生成绩:76
请输入第8名学生成绩:68
请输入第9名学生成绩:79
请输入第10名学生成绩:86
成绩由高到低依次是:
98.00 89.00 87.00 86.00 79.00
78.00 76.00 76.00 68.00 67.00
平均分=80.00
大于平均分学生的比重:40%
作业5
![](https://i-blog.csdnimg.cn/blog_migrate/b39ae137d2b443139397e8998568e4f4.png)
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
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名学生的成绩为:%d\n",i+1,j+1,arr[i][j]);
}
}
//求最高最低分
int max = 0 , min = 100 ;
for(i = 0 ; i<4;i++)
{
for(j = 0; j < 5 ;j++)
{
if(max<arr[i][j]) //比较并找出最高分
{
max = arr[i][j];
}
if(min>arr[i][j]) //比较并找出最低分
{
min = arr[i][j];
}
}
printf("第%d组最高学生的成绩为:%d,最低学生成绩为:%d\n",i+1,max,min);
}
return 0;
}
运行:
ubuntu@ubuntu:day6$ ./a.out
第1组第1名学生的成绩为:90
第1组第2名学生的成绩为:92
第1组第3名学生的成绩为:93
第1组第4名学生的成绩为:91
第1组第5名学生的成绩为:88
第2组第1名学生的成绩为:86
第2组第2名学生的成绩为:89
第2组第3名学生的成绩为:87
第2组第4名学生的成绩为:85
第2组第5名学生的成绩为:99
第3组第1名学生的成绩为:100
第3组第2名学生的成绩为:95
第3组第3名学生的成绩为:85
第3组第4名学生的成绩为:75
第3组第5名学生的成绩为:90
第4组第1名学生的成绩为:90
第4组第2名学生的成绩为:85
第4组第3名学生的成绩为:85
第4组第4名学生的成绩为:95
第4组第5名学生的成绩为:80
第1组最高学生的成绩为:93,最低学生成绩为:88
第2组最高学生的成绩为:99,最低学生成绩为:85
第3组最高学生的成绩为:100,最低学生成绩为:75
第4组最高学生的成绩为:100,最低学生成绩为:75