C语言,求答案。题目:写一个判断素数的函数,要求在主函数中输入一个整数并输出相应的判断信息

明天考C语言。这是题目啊,哪个大侠帮帮忙啊~谢谢谢谢
1.写一个判断素数的函数,要求在主函数中输入一个整数并输出相应的判断信息。
2.10个评委给出某选手打分,编成实现去掉一个最高分和一个最低分,求最后得分。
3.已知计算机的字长为8位,求十进制数—102的原码、反码和补码。(10分)
4.设计一个C程序求n!。(10分)

1.#include <stdio.h>
int fun(int n)
{
int i;
if(n == 2)
{
printf("是素数\n");
return 0;
}
else if(n <= 1)
{
printf("不是素数\n");
return 0;
}
else
{
for(i = 2;i <= n/2; i++)
{
if(n % i == 0)
{
printf("不是素数\n");
break;
}
}
if(i == (n/2+1) )
{
printf("是素数\n");
}
}
}

int main()
{
int n;
scanf("%d",&n);
fun(n);
}
2.#include <stdio.h>
int main()
{
int a[10],i,sum=0,max,min;

for(i = 0; i < 10; i++ )
{
scanf("%d",&a[i]);
}
max=a[0];
min=a[0];
for(i = 1;i <= 9;i++)
{
if(max<a[i])
{
max=a[i];
}
}
for(i = 1;i <= 9;i++)
{
if(min>a[i])
{
min=a[i];
}
}
for(i = 0;i <= 9;i++)
{
sum=sum+a[i];
}
sum=sum-max-min;
printf("最终得分为:%d\n",sum);
return 1;
}
3.-102的原码是11100110
反码是10011001
补码是10011010
4.#include <stdio.h>
int main()
{
int i,n;
int s=1;
scanf("%d",&n);
if(n<0)
{
return 0;
}
if(n==0)
{
printf("%d的阶乘是:1\n",n);
return 0;
}
for(i=1;i<=n;i++)
s=s*i;
printf("%d的阶乘是:%d\n",n,s);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第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;
}
第3个回答  2010-07-11
先用int定义一个变量 用scanf函数实现输入并且出入定义变量中 再用if函数判断 最后printf输出相关信息 大概流程是这样 具体的自己编译 自己做的才是自己的东西 光是抄袭代码 没有任何意义!!
相似回答