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
不会
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));
}