2013-1
//已知sinx=x-x^3/3!+x^5/5!-x7/7!...
//编写程序.求sinx的近似值,要求误差小于10^-8
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
//阶乘
int factorial(int num)
{
int result;
if (num == 0 || num == 1)
result = 1;
else
result = num*factorial(num - 1);
return result;
}
//乘方
double mulit(double x, int c)
{
int i;
double result = 1.0;
if (c == 0)
return 1.0;
else if (c == 1)
return x;
else
for (i = 0; i < c; i++)
result *= x;
return result;
}
//计算sinx的泰勒公式
double sin(int x)
{
double sum = 0, item = 0;
int i = 1;
while (fabs(item)>1e-8)
{
item = mulit(-1, i)*mulit(x, i) / factorial(i);
sum += item;
i += 2;
}
return sum;
}
int main()
{
int i;
double number;
scanf("%lf", &number);
double result = sin(number);
printf("%lf", result);
system("pause");
return 0;
}
2013-2
////10个评委给选手打分,原则为:分值为0到100,去掉一个最高分
////,去掉一个最低分,其余8个分数相加,再除以8,即为选手的最终
////得分.编写一个程序,输入10个评分,输出选手的最终得分.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define N 10
typedef int DataType;
void bsort(DataType a[],int n) {
int i, j;
int temp;
for (i = 0; i < n; i++)
for (j = 0; j < n-i; j++) {
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
void output(DataType a[],int n) {
int i;
for (i = 0; i < N; i++) {
printf("%d ",a[i]);
}
printf("\n");
}
int main() {
int i;
int sum = 0;
DataType score[N] = { 98,89,60,43,23,56,12,100,13,32};
output(score, N);
bsort(score,N);
output(score, N);
for (i = 1; i < N - 1; i++) {
sum += score[i];
}
printf("最终成绩:%d",sum/N-2);
system("pause");
return 0;
}
2013-3
//一个正整数用几个质数相乘的形式表现出来,叫做分解质因数.
//编写程序,输入一个正整数,输出该正整数分解质因数的形式.
//例如,输入90,输出 90=2*3*3*5.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void divprime(int n) {
int i;
for (i = 2; i <= n; i++) {
while (i != n) {
if (n%i == 0) {
printf("%d*",i);
n = n / i;
}
else
break;
}
}
printf("%d",n);
}
int main() {
int x;
scanf("%d",&x);
divprime(x);
system("pause");
return 0;
}
2013-4
//给定一个正整数N,由所有分母小于
//或等于N的最简真分数按从小到大组
//成一个序列,例如,
//N=5, 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5
//编写一个程序,输入一个正整数,输出上述序列
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int gcd(int a,int b) {
if (b == 0)
return a;
else
return gcd(b, a%b);
}
void list(int n) {
int i;
for (i = n; i > 0; i--) {
if (gcd(i, n) == 1) {
printf("%d/%d ",i,n);
}
}
}
int main() {
int num,i;
scanf("%d",&num);
for (i = num; i > 1; i--) {
list(i);
}
system("pause");
return 0;
}
吉林大学967-高级语言程序设计-2013
猜你喜欢
转载自blog.csdn.net/qq_36109528/article/details/86231467
今日推荐
周排行