1、利用 变量 = -变量,来实现数值的正负号规律性变换。
/*
2019年7月23日23:22:00
功能:计算多项式1-1/2+1/3-1/4+···+1/99-1/100的结果。
所得:数值正负号有规律变换,可以通过 sign = -sign来实现。
*/
#include <stdio.h>
int main(void)
{
double d;
double d2 = 0;//计算结果
double i;
int sign = -1;
for(i = 1;i<=100;i++)
{
sign = -sign; //控制符号变换。
d = sign/i;
d2 = d2 + d;
}
printf("d2 = %f",d2);
return 0;
}
/*
————————
输出结果:
d2 = 0.688172
————————
*/
2、对输入的数字进行排序。
/*
2019年7月24日21:26:02
功能:随机输入三个数字,然后排序。
重点:利用if进行判断,刚开始思路错误。
*/
#include <stdio.h>
int main(void)
{
int a, b, c;
int t;
printf("请输入你的三个整数:");
scanf("%d%d%d",&a,&b,&c);
if(a < b)
{
t = a;
a = b;
b = t;
}
if(a < c)
{
t = a;
a = c;
c = t;
}
if(b < c)
{
t = b;
b = c;
c = t;
}
printf("%d,%d,%d",a,b,c);
return 0;
}
3、回文数。数字操作,将数字翻转。
/*
2019年7月28日19:16:10
功能:求一个数字时不是回文数(正写和反写一样)
重点:如何讲一个数字反过来。
*/
#include <stdio.h>
int main(void)
{
int val; //输入数字储存
int m; //输入数字
int sum = 0;
printf("请输入你的数字:");
scanf("%d",&val);
m = val;
while(m)
{
sum = sum * 10 + m%10; //通过对10取余,得到最后一位数字。
m /= 10;
}
if(sum == val)
printf("是!");
else
printf("不是");
return 0;
}
4、菲波拉契数列。
/*
2019年7月28日19:51:32
功能:菲波拉契数列,1,2,3,5,8.....
重点:第三项开始,F3 = 前面两项之和。
*/
# include <stdio.h>
int main(void)
{
int f1, f2, f3;
int i, n;
f1 = 1;
f2 = 2;
printf("请输入你的数字:");
scanf("%d",&n);
if(n == 1)
f3 = 1;
else if(n == 2)
f3 = 2;
else
for(i=3; i<= n; i++)
{
f3 = f1 + f2; //本项数字等去前两项数字之和。
f1 = f2; //赋值前两项数字、
f2 = f3;
}
printf("%d",f3);
return 0;
}
5、使用指针为三个输入的数字进行排序。
/*
2019年8月4日09:10:00
功能:为三个输入的数字进行从大到小的排序。
重点:指针的应用。
*/
#include <stdio.h>
void exchange(int * p1,int * p2,int * p3);
void swap(int * p1,int * p2);
int main(void)
{
int a, b, c;
char ch;
ch = 'y';
int * p1;
int * p2;
int * p3;
p1 = &a;
p2 = &b;
p3 = &c;
while(ch == 'y')
{
printf("请输入你需要比较的三个数字(用逗号分开):");
scanf("%d,%d,%d",p1,p2,p3); //用户输入需要比较的三个数字。
exchange(p1,p2,p3);
printf("%d>%d>%d",a,b,c);
printf("继续 y ,其他键退出。");
while(getchar() != '\n') //去除垃圾值的影响,方便下次输入。
continue;
scanf("%c",&ch);
}
return 0;
}
void exchange(int * p1,int * p2,int * p3) // 为三个数字比较大小。
{
if(* p1 < * p2)
swap(p1,p2);
if(* p1 < * p3)
swap(p1,p3);;
if(* p2 < * p3)
swap(p2,p3);;
}
void swap(int * p1,int * p2) // 通过指针来为两个变量交换。
{
int t;
t = * p1;
* p1 = * p2;
*p2 = t;
}