day6数组

1.定义一个长度为20的数组,使用循环将斐波那契数列的前20想输入到数组中,输出数组的每一项,并输出该数组的总和。

#include<string.h>
#include<stdio.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
	int a[20]={1,1};
	int i=0;
	for(i = 2;i < 20; i++){
	    a[i]=a[i-1]+a[i-2];
	}	
	for(i=0;i<20;i++){

		printf("%d\t",a[i]);
	}
	printf("\n");

	int sum = 0;
	for(i = 0;i < 20; i++){
	
	sum += a[i];
	}
	printf("sum=%d\n",sum);
	return 0;
}

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

#include<string.h>
#include<stdio.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
	int a[6];
	int i;
	int temp=0;
		for(i = 0;i < 6;i++){
		printf("第%d位学生成绩:",i+1);
		scanf("%d",&a[i]);                  //输入六名学生成绩 
		}
		printf("输出六名学生成绩:");
		for(i=0;i<6;i++){
		printf("%d\t",a[i]);                   //输出六名学生成绩
		}
		
		for(i = 0; i < 5;i++){
			for(int l = 0;l<6-i;l++){
				if(a[l]>a[l+1]){ 
				temp=a[l];
				a[l]=a[l+1];
				a[l+1]=temp;
				}
			}	
		}
		printf("\n从低到高排列");	
		for(i=0;i<6;i++){
		printf("%d ",a[i]);
		}
	
	printf("\n");
	return 0;
}

 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 lenb=sizeof(brr)/sizeof(brr[0]);
	int lena=sizeof(arr)/sizeof(arr[0]);
	int lenc = 0;
	int crr[lena+lenb];

  	for(int i = 0;i < lena;i++){
		for(int j = 0;j < lenb;j++){
			if(arr[i]==brr[j]){
				crr[lenc]=arr[i];
				lenc++;
			}
		
		}
	}
	for(int i = 0;i < lenc;i++){
		printf("%d\t",crr[i]);
	}
	printf("\n");
	return 0;
} 

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

#include<string.h>
#include<stdio.h>
#include<stdlib.h>

int main(int argc, const char *argv[])
{
	double a[10];
	int i;
	double sum=0;
	double temp=0;
	for(int i=0;i<10;i++){
		printf("输入%d名学生成绩:",i+1);
		scanf("%lf",&a[i]);
	//输入十名学生成绩
		while(a[i] < 0 ||a[i] > 100){ //判断成绩是否有误
			printf("输入有误");
			scanf("%lf",&a[i]);
		}
	}
		printf("输入所有人成绩及总和\n");
	for(i = 0;i < 10;i++){
		printf("%0.2lf\t",a[i]);
		sum += a[i];
		
	}
	printf("%lf\n",sum);   //总和
                                           
	                                            //选择排序
	for(i = 0;i < 9;i++){
		int max = i;
		for(int j = i+1;j < 10;j++){
			if(a[j]>a[max]){
				max=j;
			}
		
		}	
		if(max!=i){
			temp=a[i]; 
			a[i]=a[max];
			a[max]=temp;
		}
	}
	printf("排序后的结果:");
	
	for(i = 0;i < 10;i++){
	printf("%0.2lf\n",a[i]);
	}
	temp = 0;
	double vag = sum/10;
	for(i=0;i<10;i++){
		if(a[i]>vag){
			temp++;
		}
	}
	printf("平均分%0.2lf,超过平均分人数%0.0lf\n",vag,temp);
	return 0; 
}   

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

#include<string.h>
#include<stdio.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;
	printf("输出\n");
	for(i=0;i<4;i++){
		for(j=0;j<5;j++){
			printf("%d\t",arr[i][j]);
		}
	}
	printf("\n");
	int max;
	int min;
	for(i=0;i<4;i++){
		max=arr[i][0];
		min=arr[i][0];
		for(j=0;j<5;j++){
			if(arr[i][j]>max){
				max=arr[i][j];
			}
			if(arr[i][j]<min){
				min=arr[i][j];
			}
		}
	printf("%d %d\n",max,min);
	
	}
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值