第1个回答 2010-07-10
第二题给你个参考:
#include <stdio.h>
struct student
{
int number;
char name[8];
int pw1,pw2,pw3,pw4,pw5;
int max,min;
float pjf;
};
void shuru(struct student yn[5])
{
int i;
for(i=0;i<5;i++)
{
printf("请输入歌手的序号:");
scanf("%d",&yn[i].number);
printf("请输入歌手的姓名:");
getchar();
gets(yn[i].name);
printf("请输入第一位评委的分数:");
scanf("%d",&yn[i].pw1);
printf("请输入第2位评委的分数:");
scanf("%d",&yn[i].pw2);
printf("请输入第3位评委的分数:");
scanf("%d",&yn[i].pw3);
printf("请输入第4位评委的分数:");
scanf("%d",&yn[i].pw4);
printf("请输入第5位评委的分数:");
scanf("%d",&yn[i].pw5);
}
}
void shuchu(struct student yn[5])
{
int i;
printf("参加比赛的歌手为:\n序号 姓名 f1 f2 f3 f4 f5 平均分\n");
for(i=0;i<5;i++)
{
printf("%d%10s%10d%10d%10d%10d%10d%10.2f\n",yn[i].number,yn[i].name,yn[i].pw1,yn[i].pw2,yn[i].pw3,yn[i].pw4,yn[i].pw5,yn[i].pjf);
}
}
void pingjun(struct student yn[5])
{
int i;
for(i=0;i<5;i++)
yn[i].pjf=1.0*(yn[i].pw1+yn[i].pw2+yn[i].pw3+yn[i].pw4+yn[i].pw5)/5;
}
void paixu(struct student yn[5])
{
int i,j;
struct student temp;
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
if(yn[j].pjf<yn[j+1].pjf)
{
temp=yn[j];
yn[j]=yn[j+1];
yn[j+1]=temp;
}
}
}
void main(struct student yn[5])
{
shuru(yn);
pingjun(yn);
shuchu(yn);
paixu(yn);
printf("最终名次:");
shuchu(yn);
}
第2个回答 2010-07-10
1
#include "stdio.h"
#include <math.h>
int main(int argc, char* argv[])
{
int count, i;
int n;
int prime(int m); //判断素数函数
printf("输入一个数:\n");
scanf("%d",&n);
if(prime(n)==1)
printf("%d是素数\n",n);
else
printf("%d不是素数\n",n);
}
int prime(int m)
{
int j;
for(j=2;j<=sqrt(m);j++)
{
if(m%j==0)
{
return 0;break;
}
}
if(m==1)
{
return 0;
}
return 1;
}
2
#include "stdio.h"
#include <math.h>
int main(int argc, char* argv[])
{
int a[10];
int t;
int sum=0;
printf("input ten number\n");
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(int j=0;j<10;j++)
for(int k=j+1;k<10;k++)
if(a[j]<=a[k])
{
t=a[k];
a[k]=a[j];
a[j]=t;
}
printf("去除最高分和最低分后分数为\n");
for(i=1;i<9;i++)
{
printf("%d ",a[i]);
}
return 0;
}