快到期末了,学校作业应该就是考试原题吧hhhh 抱个佛jio啥的,各位客官走过路过不要错过!
输入两个正整数m和n(m<n),求从m到n之间(包括m和n)所有素数的和。要求 定义并调用函数isprime(x)来判断x是否为素数(素数是除1以外只能被1或自身整除的自然数)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
#include <stdbool.h> // 为了使用bool类型
int isprime(int x);//声明isprime函数
int main() {
int m = 0;
int n = 0;
int i = 0;
int sum = 0;
int x = 0;
printf("请输入两个正整数m和n(m>n):");
scanf("%d %d", &m, &n);
if (m > 0 && n > 0 && m > n) {
for (i = n; i <= m; i++) {
if (isprime(i)) {
sum += i;
}
}
printf("sum=%d\n", sum);
}
else printf("输入错误,请重新输入");
return 0;
}
int isprime(int x)//是素数返回1,不是素数返回0
{
if (x <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0) {
return 0;//当找到一个可以整除x的数,返回0
}
}
return 1;//所有数都不能整除时,返回1
}
我们很容易可以找到规律:x的次方数为几即为第几项,如果x为第偶次就是负数,为奇次就是整数,分母的位置,为几就为几的阶乘。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
double fact(double x);
int main() {
int i = 0;
double x, n, result = 0.0;
printf("请输入正实数x:");
scanf("%lf", &x);
printf("请输入正实数n:");
scanf("%lf", &n);
for (i = 1; i <= n; i++) {
result += pow(-1, i - 1) * pow(x, i) / fact(x);
}
printf("和为:%lf", result);
}
double fact(double n) {
if (n > 0) {
double fact = 1;
for (int i = 1; i <= n; i++) {
fact *= i;
}
return fact;
}
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int samenum(int n) {
if (n % 10 == n / 10 % 10 || n / 100 == n % 10 || n / 100 == n / 10 % 10) {
return 1;
}
else return 0;
}
int perfectnum(int n) {
for (int i = 1; i <= n; i++) {
if (i * i == n) {
return 0;
}
}
return 1;
}
int countnum(int n){
int count = 0;
if (perfectnum(n) && samenum(n)) {
count++;
}
return count;
}
int main() {
int n = 0;
printf("请输入一个三位数:");
scanf("%d", &n);
printf("满足条件的参数个数是:%d个\n", countnum(n));
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int count(int n) {
int i = 0;
int count = 0;
int arr[10] = { 0 };
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
if (n == arr[i]) {
return count;
}
else return 0;
}
int main() {
int n = 0;
printf("请输入你要查找的数值:\n");
scanf("%d", &n);
count(n);
return n;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void convert(int m, int k) {
int remainder = 0;
while (m != 0) {
remainder = m % k;
printf("%d", remainder);
m = m / k;
}
}
int main() {
int n = 0;
int m = 0;
int k = 0;
printf("请输入你要转化的十进制数字:\n");
scanf("%d", &m);
printf("请输入你要转化的进制数:\n");
scanf("%d", &k);
convert(m, k);
return n;
}
复习指针去咯!下午继续写数组的题目(学校的)