Day6

作业1:定义一个长度为20的数组,使用循环将斐波那契数列的前20项存到数组中,输出数组的每一项,并且输出该数组的总和

#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
	int arr[20]={1,1};//定义一个一维数组,并且数组的第一项和第二项赋值为1
	int i,sum;
	for(i=2;i<20;i++)
	{
		arr[i]=arr[i-1]+arr[i-2];
	}//第三项和第三项以后的数赋值
	for(i=0;i<20;i++)//遍历数组所有值并输出
	{
		sum=sum+arr[i];
	
		printf("%d\t",arr[i]);
		printf("该数组总和为%d\n",sum);
	}
	printf("\n");
	
	return 0;
}
ubuntu@ubuntu:~$ vi b123.c
ubuntu@ubuntu:~$ gcc b123.c
ubuntu@ubuntu:~$ ./a.out
1	该数组总和为1
1	该数组总和为2
2	该数组总和为4
3	该数组总和为7
5	该数组总和为12
8	该数组总和为20
13	该数组总和为33
21	该数组总和为54
34	该数组总和为88
55	该数组总和为143
89	该数组总和为232
144	该数组总和为376
233	该数组总和为609
377	该数组总和为986
610	该数组总和为1596
987	该数组总和为2583
1597	该数组总和为4180
2584	该数组总和为6764
4181	该数组总和为10945
6765	该数组总和为17710

作业2:通过键盘输入6名学生的成绩,输出6名学生的成绩,使用冒泡法对班级学生的成绩升序排序,输出排序后成绩

#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
	int arr[6]={0};
	int i,j,temp;
	printf("输入学生的成绩: ");
	for(i=0;i<6;i++)
	{
		scanf("%d",&arr[i]);
	}
	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("排序后的成绩为: ");
	for(i=0;i<6;i++)
	{
		printf("%d\t",arr[i]);
	}
printf("\n");
	return 0;
}
ubuntu@ubuntu:~$ vi c123.c
ubuntu@ubuntu:~$ gcc c123.c
ubuntu@ubuntu:~$ ./a.out
输入学生的成绩: 23 45 67 32 89 54
排序后的成绩为: 89	67	54	45	32	23	

作业3:有如下两个数组:int arr[] = {1,2,3,4,5,6,7,8,9,0}; int brr[] = {3,7,15,9,20,2,100, 4}; 要求,自定义一个数组crr,将上面两个数组的交集存放到新数组中,并输出新数组中的内容。

#include<string.h>
#include<stdio.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];                  //新数组长度
    int k = 0;             //填充新数组


    //遍历a数组
    for(int i=0; i<lena; i++)
    {
        for(int j=0; j<lenb; j++)    //遍历b数组
        {
            
            if(arr[i] == brr[j])
            {


                crr[k] = arr[i];
                k++;                
            }
        }
    }

   
    printf("crr中的元素为:");
    for(int i=0; i<k; i++)
    {
        printf("%d\t", crr[i]);
    }
    printf("\n");






    return 0;
}
ubuntu@ubuntu:~$ vi c123.c
ubuntu@ubuntu:~$ vi e123.c
ubuntu@ubuntu:~$ gcc e123.c
ubuntu@ubuntu:~$ ./a.out
crr中的元素为:2	3	4	7	9	

作业4:定义一个双精度浮点型数组,存放十个学生成绩,输入十名学生成绩,输出赋值后的所有元素。使用选择排序,完成降序排序后输出,并求出平均分,并统计出大于平均分学生的比重,输出结果。

#include <stdio.h>

int main()
{
    
    double score[10];
    double sum = 0;
    for (int i = 0; i < 10; i++) {
        printf("请输入第%d个学生的成绩:", i + 1);
        scanf("%lf", &score[i]);
        while (score[i] < 0 || score[i] > 100) {
            printf("输入的成绩有误,请重新输入:");
            scanf("%lf", &score[i]);
        }
        sum += score[i];
    }
    printf("输入的所有成绩为:\n");
    for (int i = 0; i < 10; i++) {
        printf("%.2lf ", score[i]);
    }
    printf("\n");
    // 进行选择排序
    for (int i = 0; i < 10 - 1; i++) {
        int min = i;
        for (int j = i + 1; j < 10; j++) {
            if (score[j] < score[min]) {
                min = j;
            }
        }
        if (min != i) {
            double temp = score[i]; score[i] = score[min]; score[min] = temp;
        }
    }
    printf("选择排序后的所有成绩为:\n");
    for (int i = 0; i < 10; i++) {
        printf("%.2lf ", score[i]);
    }
    printf("\n");
    int cnt = 0; // 用于记录大于平均分的学生的个数
    for (int i = 0; i < 10; i++) {
        if (score[i] > sum/10.0) {
            cnt++;
        }
    }
    printf("平均分为:%.2lf, 大于平均分的学生的比重为: %.2lf\n", sum / 10.0, cnt / 10.0);
    return 0;
}
buntu@ubuntu:~$ vi f123.c
ubuntu@ubuntu:~$ vi aa123.c
ubuntu@ubuntu:~$ gcc aa123.c
ubuntu@ubuntu:~$ ./a.out
请输入第1个学生的成绩:34
请输入第2个学生的成绩:67
请输入第3个学生的成绩:89
请输入第4个学生的成绩:45
请输入第5个学生的成绩:67
请输入第6个学生的成绩:23
请输入第7个学生的成绩:99
请输入第8个学生的成绩:78
请输入第9个学生的成绩:68
请输入第10个学生的成绩:87
输入的所有成绩为:
34.00 67.00 89.00 45.00 67.00 23.00 99.00 78.00 68.00 87.00 
选择排序后的所有成绩为:
23.00 34.00 45.00 67.00 67.00 68.00 78.00 87.00 89.00 99.00 
平均分为:65.70, 大于平均分的学生的比重为: 0.70

作业5:23031班有4个小组,每组有5名学生,C语言基础考试成绩,第一组5位同学的成绩为90、92、93、91、88,第二组5位同学的成绩为86、89、87、85、99,第三组5位同学的成绩为100,95,85,75,90,第四组5位同学的成绩为90,85,85,95,80,定义二维数组分别输入4个小组的成绩,利用循环再输出4个小组的学生成绩,求出每个小组的最低成绩,最高成绩并输出每个小组的最高成绩,最低成绩。

#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{
	int a[4][5]={0};
	printf("输入学生的成绩: ");
	int i,j;
	for(i=0;i<4;i++)
	{
		for(j=0;j<5;j++)
		{
printf("第%d组第%d名同学成绩为: ",i+1,j+1);
scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<4;i++)
	{
		printf("第%d小组的成绩为: ",i+1);
		for(j=0;j<5;j++)
		{
			printf("%d\t",a[i][j]);
		}
		printf("\n");
	}
	for(i=0;i<4;i++)
	{
		int max=a[i][0];
		int min=a[i][0];
		printf("第%d小组; ",i+1);
		for(j=0;j<5;j++)
		{
				if(a[i][j]>max)
			{
				max = a[i][j];
			}
			else
			{
				min = a[i][j];
			}		
		}
			printf("最高分: %d,最低分: %d\n",max,min);
	}
	return 0;
}
ubuntu@ubuntu:~$ vi bb123.c
ubuntu@ubuntu:~$ gcc bb123.c
ubuntu@ubuntu:~$ ./a.out
输入学生的成绩: 第1组第1名同学成绩为: 53
第1组第2名同学成绩为: 65
第1组第3名同学成绩为: 86
第1组第4名同学成绩为: 94
第1组第5名同学成绩为: 74
第2组第1名同学成绩为: 85
第2组第2名同学成绩为: 83
第2组第3名同学成绩为: 95
第2组第4名同学成绩为: 83
第2组第5名同学成绩为: 74
第3组第1名同学成绩为: 82
第3组第2名同学成绩为: 71
第3组第3名同学成绩为: 64
第3组第4名同学成绩为: 85
第3组第5名同学成绩为: 94
第4组第1名同学成绩为: 83
第4组第2名同学成绩为: 72
第4组第3名同学成绩为: 64
第4组第4名同学成绩为: 94
第4组第5名同学成绩为: 73
第1小组的成绩为: 53	65	86	94	74	
第2小组的成绩为: 85	83	95	83	74	
第3小组的成绩为: 82	71	64	85	94	
第4小组的成绩为: 83	72	64	94	73	
第1小组; 最高分: 94,最低分: 74
第2小组; 最高分: 95,最低分: 74
第3小组; 最高分: 94,最低分: 64
第4小组; 最高分: 94,最低分: 73

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:437 throw err; // Rethrow non-MySQL errors ^ Error: secretOrPrivateKey must have a value at module.exports [as sign] (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\jsonwebtoken\sign.js:107:20) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\router_handler\2user.js:49:26) at Query.<anonymous> (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:526:10) at Query._callback (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\Connection.js:488:16) at Sequence.end (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24) at Query._handleFinalResultPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:149:8) at Query.EofPacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\sequences\Query.js:133:8) at Protocol._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Protocol.js:291:23) at Parser._parsePacket (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:433:10) at Parser.write (C:\Users\admin\Desktop\前端开发\Node.js\day6\code\api_server\node_modules\mysql\lib\protocol\Parser.js:43:10) Node.js v18.12.1
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值