博主:命运之光
专栏:算法修炼之练气篇
前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)
目录
题目 1029: [编程入门]自定义函数处理素数
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1028: [编程入门]自定义函数求一元二次方程
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1027: [编程入门]自定义函数处理最大公约数与最小公倍数
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1138: C语言训练-求矩阵的两对角线上的元素之和
题目描述
输入格式
输出格式
样例输入
样例输出
题目 1024: [编程入门]矩阵对角线求和
题目描述
输入格式
输出格式
样例输入
样例输出
🍓🍓今日份修炼结束,再接再厉!!!
题目 1029: [编程入门]自定义函数处理素数
题目描述
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
输入格式
一个数
输出格式
如果是素数输出prime 如果不是输出not prime
样例输入
97
样例输出
prime
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,cout=0,i;
scanf("%d",&n);
if(n<=1)
{
printf("not prime");
}
for(i=2;i*i<=n;i++)
{
if(n%i==0)
{
cout++;
}
}
if(cout==0)
{
printf("prime");
}
else
{
printf("not prime");
}
return 0;
}
题目 1028: [编程入门]自定义函数求一元二次方程
题目描述
求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。
输入格式
a b c
输出格式
x1=? x2=?
样例输入
4 1 1
样例输出
x1=-0.125+0.484i x2=-0.125-0.484i
#include<bits/stdc++.h>
using namespace std;
double sum1,m;
double jie(int a,int b,int c)
{
m=b*b-4*a*c;
sum1=sqrt(m)/(2*a);
return sum1;
}
double jie1(int a,int b,int c)
{
m=b*b-4*a*c;
m=-m;
sum1=sqrt(m)/(2*a);
return sum1;
}
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
double q=-b/(2*a);
double m=b*b-4*a*c;
if(m<0)
{
jie1(a,b,c);
printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",q,sum1,q,sum1);
}
if(m>=0)
{
jie(a,b,c);
printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",q,sum1,q,sum1);
}
return 0;
}
题目 1027: [编程入门]自定义函数处理最大公约数与最小公倍数
题目描述
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
输入格式
两个数
输出格式
最大公约数 最小公倍数
样例输入
6 15
样例输出
3 30
#include<bits/stdc++.h>
using namespace std;
int gys(int a,int b)
{
if(b==0)return a;
else return gys(b,a%b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
int c=gys(a,b);
printf("%d %d",c,a*b/c);
return 0;
}
题目 1138: C语言训练-求矩阵的两对角线上的元素之和
题目描述
求矩阵的两对角线上的元素之和
输入格式
矩阵的行数N
和一个N*N的整数矩阵a[N][N](N<=10)
输出格式
所输矩阵的两对角线上的元素之和
样例输入
3 1 2 3 4 5 6 7 8 9
样例输出
25
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[10][10],i,j,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++)
{
sum=sum+a[i][i];
}
i=0;
for(j=n-1;j>=0;j--)
{
sum=sum+a[i][j];
i++;
}
if(n%2!=0)
{
sum=sum-a[(n-1)/2][(n-1)/2];
}
printf("%d",sum);
return 0;
}
题目 1024: [编程入门]矩阵对角线求和
题目描述
求一个3×3矩阵对角线元素之和。
输入格式
矩阵
输出格式
主对角线 副对角线 元素和
样例输入
1 2 3 1 1 1 3 2 1
样例输出
3 7
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,a[9];
for(i=0;i<9;i++)
{
scanf("%d",&a[i]);
}
printf("%d %d",a[0]+a[4]+a[8],a[2]+a[4]+a[6]);
return 0;
}
🍓🍓今日份修炼结束,再接再厉!!!