BSP Day 14

关于数组的一些练习

循环输入近6年某高校的录取分数,求出平均分和最低分

#include<stdio.h>
int main()
{
	int arr[6];
	int sum = 0;
	int i;
	for(i=0;i<6;i++)
	{
	printf("请输入第%d年的录取分数:\n",i+1);
	scanf("%d",&arr[i]);
	}
	int min = arr[0]; 
	for(i=0;i<6;i++)
	{
	if(arr[i]<min)
	{
	min = arr[i];
	printf("最低分为:%d\n",arr[i]);
	}
	}
	for(i=0;i<6;i++)
	{
	sum += arr[i];
	}
	
	printf("平均分数为:%d\n",sum/6);
		
	return 0;
}

有一个数列:8,4,2,1,23,344,12

循环输出数列的值

逆序输出数列的值

求数列中所有数值的和

猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

#include<stdio.h>


int main()
{
	int arr[7] = {8,4,2,1,23,344,12}; 
	int i;
	int sum = 0;
	int num;
	for(i=0;i<=6;i++)
	{
		printf("%d\t",arr[i]);
	}
	printf("\n");
	for(i=6;i>=0;i--)
	{
		printf("%d\t",arr[i]);
	}
	printf("\n");
	for(i=0;i<7;i++)
	{
		sum += arr[i];
	}
	printf("所有数值的和为\n%d",sum);
	printf("\n");
	printf("请输入你要查找的数:\n");
	scanf("%d",&num);
	for(i=0;i<7;i++)
	{
		if(num==arr[i])
		{
			printf("找到了\n");
			
		}
	}
	
	if(i==7)
	{
		printf("对不起,没有找到"); 
	}
	
	return 0;
}

判断俩个整数数组是否相同

#include<stdio.h>

int main()
{
	int arr1[5];
	int arr2[5];
	int i;
	printf("请为arr1赋5个值\n");
	for(i=0;i<5;i++)
	{
	scanf("%d",&arr1);
	}
	printf("请为arr2赋5个值\n");
	for(i=0;i<5;i++)
	{
	scanf("%d",&arr2);
	}
	int arr1con = sizeof(arr1)/sizeof(arr1[0]);
	int arr2con = sizeof(arr2)/sizeof(arr2[0]);
	if(arr1con != arr2con)
	{
		printf("arr1 != arr2\n");
	}
	
	for(i=0;i<arr1con;i++)
	{
	if(arr1[i] != arr2[i])
	{
	printf("arr1 != arr 2\n");	
	}
	i++;	
    }  
	printf("arr1 = arr2");


	return 0;
}

去掉数组中重复的数字 

int main()
{
	int a[10]={0};
	int i,j; 
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
		for(j=0;j<i;j++)
		{
			if(a[i]==a[j])
			{
				a[i]=0;	
			}
		}
		if(a[i]>0)printf("%d\t",a[i]);
	}

	return 0;
}

最后附加一个综合训练

************欢迎进入海峰考务系统****************
1.添加学生成绩
2.查看所有学生成绩
3.根据学号查看成绩
4.查看成绩最高分和学号
5.查看成绩最低分和学号
6.查看成绩平均分
7.根据学号修改成绩
8.退出 
*************************************************
请选择:

//  stu[学生数量][2] 第一列保存学号,第二列保存成绩
#include<stdio.h>
 
#define INCREASE_SCORE 1
#define SEARCH_ALL     2
#define SEARCH_SCORE   3
#define MAX_SCORE 4
#define MIN_SCORE 5
#define AVE_SCORE 6
#define MODIFY_SCORE 7
#define EXIT 8
 
int student[10][2] = {0};
int index = 0;//表示当前学生个数 
//打印系统菜单函数 
int menu();
void increase_score();
void print_score();
void find_score();
void max_score();
void min_score();
void ave();
void exit(); 
 
 
int main()
{
	int option;
	char ch;
	while(option!=8)
	{
		option = menu();
		switch(option)
		{
			case INCREASE_SCORE:
				increase_score();
				print_score();
				break;
			case SEARCH_ALL:
				print_score();
				break;
			case SEARCH_SCORE:
				find_score();
				break;
			case MAX_SCORE:
				max_score();
				break;
			case MIN_SCORE:
				min_score();
				break;
			case AVE_SCORE:
				ave();
				break;
			case MODIFY_SCORE:
				exit(); 
				break;
			case EXIT:
				
				break;
			default:
				printf("输入错误\n");
				break;
		}
		printf("是否继续?(y/n):");
		getchar();
		scanf("%c",&ch);
		if(ch == 'y')
		{
			continue;
		}
		else
		{
			printf("感谢使用,再见");
			break;
		}
		
	}
	return 0;
}
 
int menu()
{
	int option;
	printf("************欢迎进入海峰考务系统****************\n");
	printf("		1.添加学生成绩\n");
	printf("		2.查看所有学生成绩\n");
	printf("		3.根据学号查看成绩\n");
	printf("		4.查看成绩最高分和学号\n");
	printf("		5.查看成绩最低分和学号\n");
	printf("		6.查看成绩平均分\n");
	printf("		7.根据学号修改成绩\n");
	printf("		8.退出 \n");
	printf("*************************************************\n");
	printf("请选择:"); 
	scanf("%d",&option);
	return option;
}
 
void increase_score()
{
	int id; //学生学号变量
	int score; //学生成绩的变量
	printf("请输入学生的学号:") ;
	scanf("%d",&id);
	printf("请输入学生的成绩:") ;
	scanf("%d",&score);
	if(index>=10)
	{
		printf("数组已满\n");
	}
	else
	{
		student[index][0] = id;
		student[index][1] = score;
		index++;
		printf("添加成功\n");
	}
}
 
void print_score()
{
	int i;
	for(i=0;i<index;i++)
	{
		printf("学生的学号:%d,学生的成绩%d\n",student[i][0],student[i][1]);
	}
}
 
void find_score()
{
	int i,j,k;
	printf("请输入学号:\n");
	scanf("%d",&i);
	for(j=0;j<10;j++){
		if(student[j][0] == i){
			printf("该学生成绩为:%d\n",student[j][1]);
		}			
	}
}
 
void max_score()
{
	int a,b;
	int h = student[0][0];
	for(a=0;a<10;a++){
		if(h<student[a][1]){
			h = student[a][1];
		}
	}
	printf("最高分为:%d\n",h);
	for(a=0;a<10;a++){
		for(b=0;b<2;b++){
			if(h == student[a][b]){
				printf("学号为:%d\n",student[a][0]);
			}
		}
	}
}
 
void min_score()
{
	int i;
	int min = student[0][1];
	for(i = 0; i < index; i++)
	{
		if(min > student[i][1])
		{
			min = student[i][1];
		}	
	}
	printf("这次考试的最低成绩是%d\n", min);
	printf("成绩最低的同学是:\n"); 
	for(i = 0; i < index; i++)
	{
		if(min == student[i][1])
		{
			printf("%d\n", student[i][0]);
		}
	}
}
 
void ave() 
{
	int a;
	int sum = 0;
	for(a=0;a<10;a++){
		sum =sum +  student[a][1];
		if(student[a][1] == 0){
			break;
		}
	}
	printf("平均成绩为:%d\n",sum/(a+1));
}
 
void exit()
{
	int a,b,c;
	printf("请输入要改的同学的学号:\n");
	scanf("%d",&a);
	for(b=0;b<10;b++){
		if(a == student[b][0]){
			printf("请输入修改的成绩:\n");
			scanf("%d",&c);
			student[b][1] = c;
		}
	}
}

今天的练习题还是让自己意识到了一些知识点的不足,继续努力吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixiaxiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值