项目一:
计算1到n的k次方累加
代码:
#include<stdio.h>
int power(int m,int n); //求m的n次方(m^n)
int sum_of_power(int k,int n); //从1^k到n^k的累加和
int main( )
{
int k, n;
scanf("%d %d", &k, &n);
printf("f(%d, %d)=%d\n", k, n, sum_of_power(k,n)); //m^k的累加和
return 0;
}
int power(int m,int n) //求m的n次方(m^n)
{
int s=1,i;
for(i=0;i<n;i++)
{
s*=m;
}
return s;
}
int sum_of_power(int k,int m) //从1^k到n^k的累加和
{
int s=0,i;
for(i=1;i<=m;i++)
{
s=s+power(i,k);
}
return s;//在这个函数中调用 power函数求幂
}
项目二:歌手大赛打分函数版
①代码:
#include <stdio.h>
void calScore(int n);
int main()
{
int n;
printf("请输入评委人数:");
scanf("%d",&n);
calScore(n);
return 0;
}
void calScore(int n)
{
int i;
double a;
double m=0,b=10,sum=0;
printf("请输入选手的成绩(0-10)\n");
for(i=1;i<=n;i++)
{
printf("第%d位评委给分:",i);
scanf("%lf",&a);
if(a>m)
m=a;
if(a<b)
b=a;
sum+=a;
}
printf("减去一个最高分:%lf,",m);
printf("减去一个最低分:%lf\n",b);
printf("当前选手的最后得分是:%lf",(sum-m-b)/(n-2));
}
改进版:
#include <stdio.h>
void calScore(int n);
int main()
{
int n;
char c;
printf("请输入评委人数:");
scanf("%d",&n);
do{
calScore(n);
printf("按N退出,其他键继续:");
fflush(stdin);
c=getchar();
}while(c!='n'&&c!='N');
return 0;
}
void calScore(int n)
{
int i=1,fb;
double a;
double m=-1,b=11,sum=0;
printf("请输入选手的成绩(0-10)\n");
do
{
printf("第%d位评委给分:",i);
fflush(stdin);
fb=scanf("%lf",&a);
if(fb==0)
{
printf("输入错误,请重新输入\n");
continue;
}
if(a>m)
m=a;
if(a<b)
b=a;
sum+=a;
i++;
}while(i<=n);
printf("减去一个最高分:%lf,",m);
printf("减去一个最低分:%lf\n",b);
printf("当前选手的最后得分是:%lf\n",(sum-m-b)/(n-2));
}