C语言实例(五)素数

C语言实例(五)素数,第1张

C语言实例(36~40)
    • 36.计算一个数是否可为两个素数之和
      • (1)代码
      • (2)运行结果
    • 37.实现简单的计算器
      • (1)代码
      • (2)运行结果
    • 38.将 1~100 的数据以 10x10 矩阵格式输出(表格形式输出数据)
      • (1)代码
      • (2)运行结果
    • 39.等差数列输出 10x10 矩阵格式
      • (1)代码
      • (2)运行结果
    • 40.乘法运算格式输出数据
      • (1)代码
      • (2)运行结果

36.计算一个数是否可为两个素数之和 (1)代码
#if 0
#include 
#include 
// 判断素数(大于1的自然数中除了1和它本身,在没有其他的因数)
int checkPrime(int n)
{
	int i, isPrime = 1;
 
    for(i = 2; i <= n/2; ++i)
	{
		if(n % i == 0)//n不能被2-n/2之间的数给整除
		{
			isPrime = 0;//不是素数就置为0
			break;
		}
	}
	return isPrime;
}

int main()
{
	int n, i, flag = 0;
 
    printf("输入正整数: ");
    scanf("%d", &n);
 
    for(i = 2; i <= n/2; ++i)
	{
		// 检测判断
		if (checkPrime(i) == 1)//i + (n-i) = n,因为计算的是一个数是否可为两个素数之和
		{
			if (checkPrime(n-i) == 1)
			{
				printf("%d = %d + %d\n", n, i, n - i);
				flag = 1;//可以分为两个素数的和时,将flag置为1.
			}
		}
	}
	if (flag == 0)
		printf("%d 不能分解为两个素数。", n);
	system("pause");
	return 0;
}
#endif
(2)运行结果

37.实现简单的计算器 (1)代码
#if 0
#include 
#include 
int main() 
{
	char operat;
    double firstNumber,secondNumber;
 
    printf("输入 *** 作符 (+, -, *,/): ");
    scanf("%c", &operat);
 
    printf("输入两个数字: ");
    scanf("%lf %lf",&firstNumber, &secondNumber);
 
    switch(operat)
	{
		case '+':
            printf("%.1lf + %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber + secondNumber);
            break;
 
        case '-':
            printf("%.1lf - %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber - secondNumber);
            break;
 
        case '*':
            printf("%.1lf * %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber * secondNumber);
            break;
 
        case '/':
            printf("%.1lf / %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber / secondNumber);
            break;
 
        // *** 作符不是+, -, *, /
		default:
            printf("Error! operator is not correct");
    }
	system("pause");
	return 0;
}
#endif
(2)运行结果

38.将 1~100 的数据以 10x10 矩阵格式输出(表格形式输出数据) (1)代码
#if 0
#include 
#include 
int main() 
{
	int i, j, count;
	//确定行数
	for(i = 1; i <= 10; i++) 
	{
		//打印列的数据,一列一列打印
		for(j = i; j <=100; j += 10 )
			printf(" %3d", j);
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif
(2)运行结果

39.等差数列输出 10x10 矩阵格式 (1)代码
#if 0
#include 
#include 
int main() 
{
	int i, j, count;
	int start, end;
 
	start = 2, end = 10;
	
	//确定行数,和每一行第一个数据
	for(i = start; i <= end; i++) 
	{
		count = i;
		//一行10个数
		for(j = 1; j <= 10; j++) 
		{
			//数为count*j,count是每一行第一个数,j是第几列。
			printf(" %3d", count*j);
		}
		printf("\n");
	}
	system("pause");
	return 0;
}
#endif
(2)运行结果

40.乘法运算格式输出数据 (1)代码
#if 1
#include 
#include 
int main() 
{
	int i, j, n;
	n = 3;
	j = 1;
   
	//i+=n <--> i=i+n  <--> 上次的结果+3(3,6,9,...)
	for(i = n; i <= (n*10); i+=n) 
	{
		printf("%3d  x %2d  =  %3d\n", n, j, i);
		j++;
	}

	/*for(i = n; i <= (n*10); i++) 
	{
		printf("%3d  x %2d  =  %3d\n", n, j, j*n);
		j++;
	}*/
	system("pause");
	return 0;
}
#endif
(2)运行结果

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/866929.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-12
下一篇2022-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存