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;
}