前言:之前做算法复建时写的,写道比较拉,黑历史.....
具体题目信息在网站上,懒得拷贝了
no1平均值计算
// no1-average.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <stdio.h>
int main()
{
int a[9], sum = 0,b=0;
for (int i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
sum += a[i];
}
float ave = sum / 10;
for (int i = 0; i < 10; i++)
if (a[i] > ave)
{
b++;
}
printf("%d", b);
}
no2计算素数和
#include<stdio.h>
#include<math.h>
bool isprime(int x)
{
if (x<=3)
{
return x > 1;
}
if (x%6!=1&&x%6!=5)
{
return false;
}
for (int i = 5; i <=sqrt(x) ; i+=6)
{
if (x%i==0||x%(i+2)==0)
{
return false;
}
}
return true;
}
int main(){
int n, m,ans=0;
scanf("%d%d",&m,&n);
for (int i = m; i <=n; i++)
{
if (isprime(i))
ans += i;
}
printf("%d",ans);
return 0;
}
no3公约公倍
#include<stdio.h>
#pragma warning (disable: 4996)
int f(int min, int max)
{
if (max%min==0)
{
return min;
}
else
{
f(max % min, min);
}
}
int main()
{
int m, n;
int max, min;
int a, b;
scanf("%d%d", &m, &n);
if (m>n)
{
max = m;
min = n;
}
else
{
max = n;
min = m;
}
a=f(min, max);
b = max * min / a;
printf("%d\n%d",a,b);
return 0;
}
no4温度转换
#include<stdio.h>
int main()
{
float a, b;
scanf("%f", &a);
b = 5 * (a - 32)/9;
printf("%.2f",b);
return 0;
}
no5分段函数
#include<stdio.h>
int main()
{
float x,y;
scanf("%f", &x);
if (x<1)
{
y = x;
}
else if (x<10)
{
y = 2 * x - 1;
}
else
{
y = 3 * x - 11;
}
printf("%.2f", y);
return 0;
}
no6求偶数和
#include<stdio.h>
int main()
{
int n, sum = 0,a;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &a);
if (a%2==0)
{
sum += a;
}
}
printf("%d", sum);
return 0;
}
no7等差数列
#include<stdio.h>
int main()
{
int n,sum;
scanf("%d", &n);
sum = (n * 2 + n * (n - 1) / 2 * 3);
printf("%d", sum);
return 0;
}
no8同因查找
#include<stdio.h>
int main()
{
for (int i = 10; i <=1000 ; i++)
{
if (i % (2*3*7) == 0)
{
printf("%d\n", i);
}
}
return 0;
}
no9计负均正
#include<stdio.h>
int main()
{
int a[20], sum = 0, count = 0; double average = 0;
for (int i = 0; i < 20; i++)
{
scanf("%d", &a[i]);
if (a[i]<0)
{
count++;
}
else
{
sum += a[i];
}
}
average = (double)sum / (20-count);
printf("%d \n%.2f", count, average);
}
no10公约公倍
#include<stdio.h>
#pragma warning (disable: 4996)
int f(int min, int max)
{
if (max%min==0)
{
return min;
}
else
{
f(max % min, min);
}
}
int main()
{
int m, n;
int max, min;
int a, b;
scanf("%d%d", &m, &n);
if (m>n)
{
max = m;
min = n;
}
else
{
max = n;
min = m;
}
a=f(min, max);
b = max * min / a;
printf("%d\n%d",a,b);
return 0;
}
no11统计字符
#include<stdio.h>
int main()
{
char c;
int letter = 0, num = 0, space = 0, other = 0;
while ((c = getchar()) != '\n')
{
if (c >= 'a' && c <= 'x')
{
letter++;
}
else if (c>='0'&&c<='9')
{
num++;
}
else if (c==' ')
{
space++;
}
else
{
other++;
}
}
printf("%d\n%d\n%d\n%d", letter, space, num, other);
return 0;
}
no12阶乘数列
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
long int j=1, sum=0;
for (int i = 1; i <= n; i++)
{
j = j * i;//j为前i-1个数的阶层 i阶层=(i-1)*i
sum += j;
}
printf("%ld", sum);
return 0;
}
no13最小绝对值
#include<stdio.h>
#include<math.h>
int main()
{
int a[10],min,sign;
scanf("%d",&a[0]);
min = a[0];
for (int i = 1; i < 10; i++)
{
scanf("%d", &a[i]);
if (min>fabs(a[i]))
{
min = a[i];
sign = i;
}
}
a[sign] = a[9];
a[9] = min;
for (int i = 0; i < 10; i++)
{
printf("%d\t",a[i] );
}
return 0;
}
no14自定义函数
#include<stdio.h>
double mypow(double x, int n)
{
double a = 1;
for (int i = 0; i < n; i++)
{
a *= x;
}
return a;
}
double fact(int n)
{
double a2 = 1;
for (int i = 1; i <= n; i++)
{
a2 *= i;
}
return a2;
}
int main()
{
double x;
int n;
double ans = 0;
scanf("%lf%d", &x, &n);
for (int i = 1; i <= n; i++)
{
ans += mypow(-1, i - 1) * mypow(x, i) / fact(i);
}
printf("%.4lf",ans );
return 0;
}
no15分段函数
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
scanf("%lf",&x);
if (x<0)
{
y = fabs(x);
}
else if (x<2)
{
y=pow((x + 1), 0.5);
}
else if (x<4)
{
y=pow((x+2),5);
}
else
{
y = 2 * x + 5;
}
printf("%.2lf", y);
return 0;
}
no16温度转换
#include<stdio.h>
int ctof(int c)
{
int a = (32 + (9 * c/5));
return a;
}
int main()
{
for (int i = -100; i <= 150; i+=5)
{
printf("c=%d->f=%d\n",i,ctof(i));
}
return 0;
}
no17寻找矩阵最值
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int a[10][10];
int max = 0;
int x, y;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
if (a[i][j]>max)
{
max = a[i][j];
x = i;
y = j;
}
}
}
printf("%d %d %d", max, x + 1, y + 1);
return 0;
}
no18成绩归类
#include<stdio.h>
int main()
{
int a=0, b=0, c=0;
int n;
do{
scanf("%d",&n);
if (0 < n && n < 60)
{
c++;
}
else if (0 < n && n<85)
{
b++;
}
else if (n>=85)
{
a++;
}
} while (n > 0);
printf(">=85:%d\n",a);
printf("60-84:%d\n",b);
printf("<60:%d",c);
return 0;
}
no19阶乘公式求职
#include<stdio.h>
double fact(int k)
{
double j = 1;
for (int i= 1; i<=k; i++)
{
j *= i; ////j为前i-1个数的阶层. i阶层=(i-1)*i
}
return j;
}
int main()
{
int n;
double sum = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
sum+=(1.0 / fact(i));
}
printf("sum=%.5lf",sum);
return 0;
}