Contest 1
求整数均值
Description
输入4个整数,计算并输出这些整数的和与平均值,其中平均值精确到小数点后1位,试编写相应程序
Input
输入4个整数。
Output
计算并输出这些整数的和与平均值(float形式),其中平均值精确到小数点后1位。
Sample Input 1
1 2 3 4
Sample Output 1
10 2.5
#include <stdio.h>
int ans1,tmp;
int main(){
for(int i=0;i<4;i++){
scanf("%d",&tmp);
ans1+=tmp;
}
printf("%d %.1f",ans1,(float)ans1/4);
return 0;
}
阶梯电价
Description
为提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,
电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量电价上调0.05元/千瓦时。输入用户的月用电量(千瓦时),计算并输出改用户应支付的电费(元)。试着编写相应程序。
Input
输入用电量的整数形式。
Output
输出电费,用float形式。
Sample Input 1
50
Sample Output 1
26.500000
#include<stdio.h>
int main()
{
int cos;
scanf("%d", &cos);
if (cos <= 50)
printf("%f", (float)(cos * 0.53));
else
printf("%f", (float)(50 * 0.53 + (cos - 50) * 0.58));
return 0;
}
序列求和
Description
输入两个正整数m和n(0<m<=n),求和: i^2+1/i (i 从 m 到 n),保留最后6位小数,是编写相应的程序。
Input
输入两个整数分别对应m和n。
Output
输出用double形式。计算公式:i^2+1/i,i 从 m到n的和。
Sample Input 1
1 2
Sample Output 1
6.500000
#include<stdio.h>
int main()
{
int m;
int n;
scanf("%d" , &m);
scanf("%d" , &n );
double result;
result=0;
int i;
for(i=m;i<=n;i++)
{
result=result+(i*i+1.0/i);
}
printf ("%.6f\n",result);
return 0;
}
求交错序列前n项的和
Description
输入一个正整数n,计算交错序列1-2/3+3/5-4/7+5/9-6/11+……的前n项之和,试编写相应程序。
Input
输入一个整数形式n
Output
输出数值为double形式,最后保留小数点后六位。
Sample Input 1
56
Sample Output 1
0.390467
#include <stdio.h>
int main()
{
int denominator,i,n,flag,a;
double item,sum;
scanf ("%d", &n);
denominator=1;
sum=0;
a=1;
flag=1;
for(i=1; i<=n; i++)
{
item=a*1.0/denominator;
sum = sum + flag*item;
denominator=denominator+2;
flag=-flag;
a=a+1;
}
printf ("%.6lf\n",sum);
return 0;
}
平方根求和
Description
输入一个正整数n,计算1+\sqrt(2)+\sqrt(3)+……+\sqrt(n)的值(保留2位小数)。可能包含头文件marth.h,并调用sqrt()函数求平方根。是编写相应程序。
Input
输入一个整数n。
Output
输出一个保留两位小数的求和值。
Sample Input 1
4561
Sample Output 1
205385.52
#include <stdio.h>
#include <math.h>
int main(){
int n;
double ans=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
ans+=(double)sqrt((double) (i));
}
printf("%.2lf",ans);
return 0;
}
求给定序列前n项的和(1!+2!+3!+……+n!)
Description
输入一个正整数n,求e=1!+2!+3!+……+n!,要求定义调用函数fact(n) 计算n!,函数类型是double。是编写想用的程序。
Input
输入一个整数n。
Output
输出最后阶乘求和的值,用double形式,不保留小数点。
Sample Input 1
12
Sample Output 1
522956313
#include <stdio.h>
double fact(int n);
int main()
{
int i,n;
double e;
scanf("%d",&n);
e=0;
for(i=1;i<=n;i++)
{
e=e+fact(i);
}
printf("%.lf",e);
return 0;
}
double fact(int n)
{
int i;
double product;
product =1;
for(i=1;i<=n;i++)
{
product =product*i;
}
return product;
}