21-30

第三次作业

21.有10个学生,每个学数据包括学号、姓名、3门课的成绩。从键盘输入10学生的数据,要求打印出3门课的平均成绩,以及最高分的学生数据。

22.编写一个print函数,打印一个学生的成绩数组,该数组中有5个学生的记录,
每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录。

23.定义一个结构体变量(包括年月日)。计算该日在本年中是第几天,注意闰年问题。用函数实现

24.孪生素数
25.买卖提将养的一缸金鱼分五次出售系统上一次卖出全部的一半加二分之一条;
第二次卖出余下的三分之一加三分之一条;
第三次卖出余下的四分之一加四分之一条;
第四次卖出余下的五分之一加五分之一条;
最后卖出余下的11条。
问原来的鱼缸中共有几条金鱼?*/

26.梅森素数

27.两个乒乓球队进行比赛,各出三人。甲队为A、B、C三人,乙队为X、Y、Z三,已抽签决定比赛名单。
有人向队员打的比赛的名单,A说他不和X比,C说他不和X、Z比。请编程序找出三对比赛选手名单。

28.编写程序,求出n1至n2自然数之和。要求使用递归方法。

29.输入三个整数,按由小到大的顺序输出。(指针)

30.输入三个字符串,按由小到大的顺序输出(指针)

21
#include<stdio.h>
struct student
{
	int num;
	char name[10];
	int cheng[3];
}stu[10];
main()
{
	int i,j;
	for(i=0;i<10;i++)
	{
		scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].cheng[0],&stu[i].cheng[1],&stu[i].cheng[2]);
	}
	int avger[10]={0};
	for(i=0;i<10;i++)
	{
		for(j=0;j<3;j++)
		avger[i]+=stu[i].cheng[j];
	}
	for(i=0;i<10;i++)
	{
		printf("%d%s%d%d%dhe=%d\n",stu[i].num,stu[i].name,stu[i].cheng[0],stu[i].cheng[1],stu[i].cheng[2],avger[i]);
	}
	int max=0;
	for(i=0;i<10;i++)
	if(max<avger[i])
	max=avger[i];
	for(i=0;i<10;i++)
	if(max==avger[i])
	printf("%d%s%d%d%dhe=%d\n",stu[i].num,stu[i].name,stu[i].cheng[0],stu[i].cheng[1],stu[i].cheng[2],avger[i]);
}
22
#include<stdio.h>
struct student
{
	int num;
	char name[100];
	int score[3];
 }stu[5];
 print()
 {
 	int i,j;
 	for(i=0;i<5;i++)
 	printf("%d%s%d%d%d",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
 }
main()
{
	int i,j;
	for(i=0;i<5;i++)
	{
		scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
	}
	print(stu);
}
23
#include<stdio.h>
struct date
{
	int year;
	int mouth;
	int day;
}a;
fun()
{
	int sum=0;
	if(a.mouth==1)
	sum=a.day;
	else if(a.mouth==2)
	sum=a.day+31;
	else if(a.mouth==3)
	sum=a.day+59;
	else if(a.mouth==4)
	sum=a.day+90;
	else if(a.mouth==5)
	sum=a.day+120;
	else if(a.mouth==6)
	sum=a.day+120+31;
	else if(a.mouth==7)
	sum=a.day+151+30;
	else if(a.mouth==8)
	sum=a.day+181+31;
	else if(a.mouth==9)
	sum=a.day+212+31;
	else if(a.mouth==10)
	sum=a.day+243+30;
	else if(a.mouth==11)
	sum=a.day+273+31;
	else
	sum=a.day+304+30;
	if(a.year%4==0&&a.year%100!=0||a.year%400==0)
	{
		if(a.mouth>2)
		return(sum+1);
		else
		return(sum);
	}
	else
	return(sum);
}
main()
{
	scanf("%d%d%d",&a.year,&a.mouth,&a.day);
	printf("%d",fun(a));
}
24
#include<stdio.h>
main()
{
	int i,j,n,h;
	scanf("%d",&n);
	for(i=3;i<n;i++)
	{
		for(j=2;j<i;j++)
		if(i%j==0)
		break;
		for(h=2;h<i+2;h++)
			if((i+2)%h==0)
			break;
		if(i==j&&(i+2)==h)
		printf("%d%d      ",i,i+2);
	}
}
25
#include<stdio.h>

float fish(float n)
{
if(n==5) return (11);
else return ((n+1)/n)*(fish(n+1)+1/(n+1));

}
main()
{
	printf("%f",fish(1));
}
26
#include<stdio.h>
#include<math.h>
fun(int n)
{
	int i,j;
	for(i=2;i<n;i++)
	{
		if(n%i==0)
		break;
	}
	if(n==i)
		return(1);
	return(0);
 } 
main()
{
	int i,n,mp;
	scanf("%d",&n);
	for(i=2;i<=n;i++)
	{
		mp=pow(2,i)-1;
		if(fun(mp))
		printf("%d   ",mp);
	}
}
27
#include<stdio.h>
main()
{
	char a,b,c;
	int i;
	for(i=88;i<=90;i++)
	{
		if(i!='X'&&i!='Z')
		{
			c=i;
			for(i=88;i<=90;i++)
			if(i!='X'&&i!=c)
			{
				a=i;
				for(i=88;i<=90;i++)
				if(i!=a&&i!=c)
				b=i;
			}
		}
		
	}
	printf("a=%c,b=%c,c=%c",a,b,c);
 } 
 28
 #include<stdio.h>
fun(int n,int b)
{
	if(n==b)
	return(b);
	else
	return(n+=fun(n+1,b));
}
main()
{
	int n,b;
	scanf("%d%d",&n,&b);
	printf("%d",fun(n,b));
}
29
#include<stdio.h>
main()
{
	int a[3],*p=a;
	int i,j,t;
	for(i=0;i<3;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<2;i++)
	for(j=0;j<2-i;j++)
	{
		if(*(p+j)>*(p+j+1))
		{
		t=*(p+j);
		*(p+j)=*(p+j+1);
		*(p+j+1)=t;
		}
	}
	for(i=0;i<3;i++)
	printf("%d",*(p+i));
}
30
#include<stdio.h>
main()
{
	char a[3],*p=a;
	int i,j,t;
	for(i=0;i<3;i++)
	{
		scanf("%c",&a[i]);
	}
	for(i=0;i<2;i++)
	for(j=0;j<2-i;j++)
	{
		if(*(p+j)>*(p+j+1))
		{
		t=*(p+j);
		*(p+j)=*(p+j+1);
		*(p+j+1)=t;
		}
	}
	for(i=0;i<3;i++)
	printf("%c",*(p+i));
}
在这里插入代码片
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值