c语言程序设计基础简单例题1

no.1不引入其他变量交换两个变量的值

利用加减法或乘除交换两个变量的值:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
	int a, b;
	scanf("%d %d", &a, &b);//输入两个变量
	a = a + b;
	b = a - b;
	a = a - b;
	printf("a=%d,b=%d\n", a, b);//交换
	a = a * b;
	b = a / b;
	a = a / b;
	printf("a=%d,b=%d", a, b);//换回原来的值
	return 0;
}

no.2输入一个数并且判断这个数是否为素数

方法一 利用素数定义,将输入的数除以2到它本身减一的数,判断其是否能整除(余数为0)来判断其是否是素数。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
	int a;
	scanf("%d", &a);//输入a的值
	int i;//定义循环体参数i
	for (i = 2; i < a;i++) {
		if (a % i == 0) {
			break;
		}
	}
	/*i的值取(2,a-1),在用a除以i,每次判断一次a能否被i整除(余数是否为0),若是则终止循环,直接输出i的值,此时i的值小于a,若不是则循环完毕,自动输出i的值,此时i的值等于a。*/
	if (i < a) {
		printf("%d不是素数", a);//判断i小于a,打印出a不是素数
	}
	else
		printf("%d是素数", a);//反之,打印出a是素数

	return 0;
}

方法二 因为根号a若是有理数,则令A^2=a,2到A包括A之间的整数若是不能整除a,则2到a之间的整数亦不能整除a,若不是有理数,同理。将输入的数除以2到根号a的数,判断其是否能整除(余数为0)来判断其是否是素数,此方法简化了计算机的运算步骤。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>//引入数学库函数
int main() {
	int a;
	scanf("%d",&a);//输入a的值
	int i;//定义循环体参数i
	for (i = 2; i <= sqrt(a);i++) {
		if (a % i == 0) {
			break;
		}
	}
	/*i的值取(2,根号a),在用a除以i,每次判断一次a能否被i整除(余数是否为0),若是则终止循环,直接输出i的值,此时i的值小于或等于根号a,若不是则循环完毕,自动输出i的值,此时i的值大于根号a。*/
		if(i<=sqrt(a)){
		printf("%d不是素数", a);//判断i小于或等于根号a,打印出a不是素数
	}
		else
			printf("%d是素数", a);//反之,打印出a是素数
	
	return 0;
	}

方法三 因为2到a/2包括a/2之间的整数若是不能整除a,则2到a之间的整数亦不能整除a。将输入的数除以2到a/2的数,判断其是否能整除(余数为0)来判断其是否是素数,此方法简化了计算机的运算步骤。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
	int a;
	scanf("%d",&a);//输入a的值
	int i;//定义循环体参数i
	for (i = 2; i <= a/2;i++) {
		if (a % i == 0) {
			break;
		}
	}
	/*i的值取(2,a/2),在用a除以i,每次判断一次a能否被i整除(余数是否为0),若是则终止循环,直接输出i的值,此时i的值小于或等于a/2,若不是则循环完毕,自动输出i的值,此时i的值大于a/2。*/
		if(i<=a/2){
		printf("%d不是素数", a);//判断i小于或等于根号a,打印出a不是素数
	}
		else
			printf("%d是素数", a);//反之,打印出a是素数
	
	return 0;
	}

no.3计算1-2+3-4+…+(a-1)-a的值

利用选择语句改变正负号和连加循环体计算1-2+3-…-a的值

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
	int i, a;
	scanf("%d", &a);//输入a的值
	static int sum;//定义静态变量sum,使变量sum能够全局使用
	for (i = 0;i <= a;i++) {//设置连加循环体
		if (i % 2 == 1) {
			sum = sum + i;
		}//若i是奇数,则为加
		if (i % 2 == 0) {
			sum = sum - i;
		}//若i是偶数,则为减
	}
	printf("%d", sum);
	return 0;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值