第三周暑假作业
作者:互联网
二级题库
double fun(double *x)
{ int i, j; double av, y[N];
av=0;
for(i=0; i<N; i++)
/**********found**********/
av+=x[i]/N;
for(i=j=0; i<N; i++)
if( x[i]<av ){
y[j]=x[i]; x[i]=-1;
/**********found**********/
j++;
}
i=0;
while(i<N)
{ if( x[i]!= -1 ) y[j++]=x[i];
/**********found**********/
i++;
}
for(i=0; i<N; i++)x[i] = y[i];
return av;
}
/*************found**************/
void fun(char *s, int num[5])
{ int k, i=5;
for(k=0;k<i;k++)
/*************found**************/
num[k]=0;
for(;*s;s++)
{ i=-1;
/*************found**************/
switch(*s)
{ case 'a': case'A':{i=0;break;}
case 'e': case 'E':{i=1;break;}
case 'i': case 'I':{i=2;break;}
case 'o': case 'O':{i=3;break;}
case 'u': case 'U':{i=4;break;}
}
if(i>=0)
num[i]++;
}
}
int fun( int a [M][N])
{
int i,j,sum=0;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
if(i==0||i==M-1||j==0||j==n-1)
sum+=a[i][j];
return sum;
}
c语言
输入三个字符串,按由小到大的顺序输出(指针)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char *s[3],st[3][10],**p,*t;
int i,j;
for(i=0;i<3;s[i]=st[i],scanf("%s", s[i++]))
for(i=0; i<3; i++)
for(j=i+1;j<3;strcmp(s[i],s[j])>0?t=s[i],s[i]=s[j],s[j]=t,j++:j++)
for(p=s;p<s+3;printf("%s ", *p++))
printf("\n");
system("pause");
return 0;
}
输入三个整数,按由小到大的顺序输出。
#include <stdio.h>
int main()
{
int a,b,c,*i,*j,*k;
i=&a,j=&b,k=&c;
scanf("%d %d %d",i,j,k);
if(*i<*j)
{
if(*j<*k)
printf("%d %d %d\n",*i,*j,*k);
else
{
if(*i<*k)
printf("%d %d %d\n",*i,*k,*j);
else
printf("%d %d %d\n",*k,*i,*j);
}
}
else
{
if(*j>*k)
printf("%d %d %d\n",*k,*j,*i);
else
{
if(*i<*k)
printf("%d %d %d\n",*j,*i,*k);
else
printf("%d %d %d\n",*j,*k,*i);
}
}
return 0;
}
编写程序,求出n1至n2自然数之和。要求使用递归方法。
#include<stdio.h>
he(int n,int m)
{
int sum=0;
if(n==m)
return(n);
else
return(n+he(n+1,m));
}
main()
{
int n,m;
scanf("%d%d",&n,&m);
printf("%d",he(n,m));
}
两个乒乓球队进行比赛,各出三人。甲队为A、B、C三人,乙队为X、Y、Z三,已抽签决定比赛名单。 有人向队员打的比赛的名单,A说他不和X比,C说他不和X、Z比。请编程序找出三对比赛选手名单。#include <stdio.h>
int main()
{
int i,j,k;
for(i='X';i<='Z';i++)
{
for(j='X';j<='Z';j++)
{
for(k='X';k<='Z';k++)
{
if(i=='X'||j==i||k=='X'||k=='Z'||j==k||i==k)
{
continue;
}
printf("A对%c,B对%c,C对%c",i,j,k);
}
}
}
return 0;
}
梅森素数
#include <stdio.h>
#include <math.h>
int prime(int n)
{
int i;
long k;
k=sqrt(n)+1;
for(i=2;i<=k;i++)
if(n%i==0)
return 0;
return 1;
}
int main()
{
int mp,n=0,i;
for (i=2;i<=20;i++)
{
mp=pow(2, i)-1;
if(prime(mp))
{
n++;
printf("M(%d)=%d",i,mp);
printf("\n");
}
}
printf("%d\n",n);
return 0;
}
买卖提将养的一缸金鱼分五次出售系统上一次卖出全部的一半加二分之一条; 第二次卖出余下的三分之一加三分之一条; 第三次卖出余下的四分之一加四分之一条; 第四次卖出余下的五分之一加五分之一条; 最后卖出余几条
#include<stdio.h>
void main()
{
int i,j,n=0,x;
for(i=23;n==0;i+=2)
{
for(j=1,x=i;j<=4&&x>=11;j++)
{
if((x+1)%(j+1)==0)
x-=(x+1)/(j+1);
else
{
x=0;
break;
}
}
if(j==5&&x==11)
{
printf("%d",i);
n=1;
}
}
}
孪生素数
#include <stdio.h>
#include <math.h>
int isPrime(int num)
{
int i;
for(i=2;i<=sqrt(num); i++)
{
if(num%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int i,temp,a,b;
temp=2;
scanf("%ld,%ld",&a,&b);
for(i=a;i<=b;i++)
{
if(isPrime(i))
{
if(i-temp==2)
{
printf("(%ld,%ld)\n",temp,i);
}
temp=i;
}
}
return 0;
}
定义一个结构体变量(包括年月日)。计算该日在本年中是第几天,注意闰年问题。用函数实现
#include<stdio.h>
struct Date
{
int year;
int month;
int day;
};
int main()
{
struct Date p;
scanf("%d,%d,%d",&p.year,&p.month,&p.day);
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int sum,i;
sum=p.day;
for(i=0;i<p.month-1;i++)
sum+=a[i];
if(((p.year%4==0&&p.year%100!=0)||p.year%400==0)&&p.month>2)
printf("该日是在%d年中的第%d天", p.year,sum+1);
else
printf("该日是在%d年中的第%d天", p.year,sum);
}
编写一个print函数,打印一个学生的成绩数组,该数组中有5个学生的记录, 每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录。
#include<stdio.h>
struct Student
{
int num;
char name[20];
int score[3];
};
int print(struct Student stu[])
{
int i,j;
for(i=0;i<5;i++)
{
printf("%5d%10s\t",stu[i].num,stu[i].name);
for(j=0;j<3;j++)
printf("%d\t",stu[i].score[j]);
printf("\n");
}
}
int input(struct Student stu[])
{
int i,j;
for(i=0;i<5;i++)
{
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
for(j=0;j<3;j++)
{
printf("stu[%d].score[%d]:",i,j);
scanf("%d",&stu[i].score[j]);
}
printf("\n");
}
}
int main()
{
struct Student stu[5];
input(stu);
print(stu);
}
有10个学生,每个学数据包括学号、姓名、3门课的成绩。从键盘输入10学生的数据,要求打印出3门课的平均成绩,以及最高分的学生数据。
#include<stdio.h>
struct Student
{
int num;
char name[20];
int score[3];
}stu[10];
void score_ave(struct Student s[])
{
float n=10;
int m=3,j,i;
float score_ave[3];
for(j=0;j<m;j++)
{
float sum=0;
for(i=0;i<n;i++)
{
sum+=s[i].score[j];
}
score_ave[j]=sum/n;
}
for(j=0;j<m;j++)
{
printf("%.2f ",score_ave[j]);
}
printf("\n");
}
void person_ave(struct Student s[])
{
float p_ave[10];
float sum;
float max=0;
float m=3;
int num;
int n=10;
int i,j;
for(i=0;i<n;i++)
{
sum=0;
for(j=0; j<m; j++)
{
sum+=s[i].score[j];
}
p_ave[i]=sum/m;
if (max<p_ave[i])
{
max=p_ave[i];
num=i;
}
}
printf("%d %s %d %d %d\n",s[num].num,s[num].name,s[num].score[0],s[num].score[1],s[num].score[2]);
}
int main()
{
int n=10;
int i,j;
for (i=0;i<n;i++)
{
scanf("%d %s",&stu[i].num,&stu[i].name);
for(j=0;j<3;j++)
{
scanf("%d",&stu[i].score[j]);
}
}
score_ave(stu);
person_ave(stu);
return 0;
}
标签:score,int,sum,第三周,stu,num,printf,暑假作业 来源: https://blog.csdn.net/qq_53079169/article/details/118961488