博主:命运之光
专栏:算法修炼之练气篇
题目 1029: [编程入门]自定义函数处理素数
题目描述
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
输入格式
一个数
输出格式
如果是素数输出prime 如果不是输出not prime
样例输入
97
样例输出
prime
usingnamespacestd; intmain() { intn,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"); } return0; }
题目 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
usingnamespacestd; doublesum1,m; doublejie(inta,intb,intc) { m=b*b-4*a*c; sum1=sqrt(m)/(2*a); returnsum1; } doublejie1(inta,intb,intc) { m=b*b-4*a*c; m=-m; sum1=sqrt(m)/(2*a); returnsum1; } intmain() { doublea,b,c; scanf("%lf %lf %lf",&a,&b,&c); doubleq=-b/(2*a); doublem=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); } return0; }
题目 1027: [编程入门]自定义函数处理最大公约数与最小公倍数
题目描述
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
输入格式
两个数
输出格式
最大公约数 最小公倍数
样例输入
6 15
样例输出
3 30
usingnamespacestd; intgys(inta,intb) { if(b==0)returna; elsereturngys(b,a%b); } intmain() { inta,b; scanf("%d %d",&a,&b); intc=gys(a,b); printf("%d %d",c,a*b/c); return0; }
题目 1138: C语言训练-求矩阵的两对角线上的元素之和
题目描述
求矩阵的两对角线上的元素之和
输入格式
矩阵的行数N
和一个N*N的整数矩阵a[N][N](N<=10)
输出格式
所输矩阵的两对角线上的元素之和
样例输入
3 1 2 3 4 5 6 7 8 9
样例输出
25
usingnamespacestd; intmain() { intn,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); return0; }
题目 1024: [编程入门]矩阵对角线求和
题目描述
求一个3×3矩阵对角线元素之和。
输入格式
矩阵
输出格式
主对角线 副对角线 元素和
样例输入
1 2 3 1 1 1 3 2 1
样例输出
3 7
usingnamespacestd; intmain() { inti,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]); return0; }