标签:
for循环求1+2+3+4+....+100
# include <stdio.h>
int main(void)
{
int i; //循环中更新的变量i不能定义成浮点型
int sum = 0;
for (i=1; i<=100; ++i)
sum = sum + i;
printf("sum = %d\n", sum);
return 0;
}
求1-100之间奇数的个数:
# include <stdio.h>
int main(void)
{
int i; //循环中更新的变量i不能定义成浮点型
int sum = 0;
for (i=1; i<=100; ++i)
sum = sum + i;
printf("sum = %d\n", sum);
return 0;
}
求1-100之间奇数的平均值:
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6 int sum = 0;
7 int cnt = 0;
8 float avg; //average 的缩写
9
10 for (i=1; i<101; ++i)
11 {
12 if (i%2 == 1)
13 {
14 sum += i;
15 ++cnt;
16 }
17 }
18 avg = 1.0*sum / cnt; //1.0默认是double类型
19
20 printf("sum = %d\n", sum);
21 printf("cnt = %d\n", cnt);
22 printf("avg = %f\n", avg);
23
24 return 0;
25 }
求1-100之间奇数和,偶数和:
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6 int sum1 = 0; //奇数和
7 int sum2 = 0; //偶数和
8
9 for (i=1; i<101; ++i)
10 {
11 if (i%2 == 1)
12 {
13 sum1 += i;
14 }
15 else
16 {
17 sum2 += i;
18 }
19 }
20 printf("奇数和 = %d\n", sum1);
21 printf("偶数和 = %d\n", sum2);
22
23 return 0;
24 }
while语句 求回文数:
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int val; //存放待判断的数字
6 int m;
7 int sum = 0;
8
9 printf("请输入您需要判断的数字: ");
10 scanf("%d", &val);
11
12 m = val;
13 while (m)
14 {
15 sum = sum * 10 + m%10;
16 m /= 10;
17 }
18
19 if (sum == val)
20 printf("Yes!\n");
21 else
22 printf("No!\n");
23
24 return 0;
25 }
一个比较综合的例子:
1 /* 2 时间:2015年2月7日15:58:20 3 描述:1. 1到100之间奇数偶数求和问题 4 2. for语句while语句相互转化 5 3. 强制类型转换 6 */ 7 8 # include <stdio.h> 9 # include <math.h> 10 11 int main(void) 12 { 13 int i,temp; 14 int sum = 0; 15 float avg = 0.0; //average的缩写 16 /* 17 for (i=1; i<=100; i++) //1到100之和 18 sum = sum +i; 19 */ 20 i = 0; //用while实现,注意i的初始化 21 while (i <= 100) 22 { 23 sum += i; //两个语句不能互换 24 i++; 25 } 26 printf("1到100之和:\nsum = %d\n", sum); 27 28 sum = 0; //1到100奇数之和 29 for (i=1; i<=100; i+=2) 30 sum = sum +i; 31 printf("1到100之间奇数之和:\nsum = %d\n", sum); 32 temp = sum; 33 34 sum = 0; //1到100偶数之和 35 for (i=2; i<=100; i+=2) 36 sum = sum +i; 37 printf("1到100之间偶数之和:\nsum = %d\n", sum); 38 39 int cnt = 0; //1到100奇数的个数,个数一般用cnt表示,count 40 for (i=1; i<=100; i++) 41 { 42 if (i%2 == 1) 43 cnt += 1; 44 } 45 printf("1到100之间奇数的个数是%d\n", cnt); 46 47 //avg = temp/(float)(cnt); //1到100奇数的平均值 48 avg = 1.0*temp / cnt; //1.0默认是double类型 49 printf("1到100之间奇数的平均数为:%f\n", avg); 50 51 float aa = 0; //1 + 1/2 + 1/3 + ... + 1/100之和 52 for (i=1; i<=100; i++) 53 aa += 1/((float) i);//或 aa += 1.0/i; 54 printf("1 + 1/2 + 1/3 + ... + 1/100 = %f\n", aa); 55 56 float x = 0; //有一个浮点型变量x, 如何判断x的值是否是0 57 if (fabs(x-0.0000001) <= 0.0000001) 58 printf("x是0\n"); 59 else 60 printf("x不是0\n"); 61 62 return 0; 63 } 64 65 /* 66 在VC++6.0输出结果是: 67 ---------------------------- 68 1到100之和: 69 sum = 5050 70 1到100之间奇数之和: 71 sum = 2500 72 1到100之间偶数之和: 73 sum = 2550 74 1到100之间奇数的个数是50 75 1到100之间奇数的平均数为:50.000000 76 1 + 1/2 + 1/3 + ... + 1/100 = 5.187378 77 x是0 78 ---------------------------- 79 注意: 80 1. float 和double 都不能保证可以精确的存储一个小数 81 所以自增自减变量i, j 不能定义成浮点型 82 2. 注意绝对值函数abs()和fabs() 83 如果整型取绝对值用abs,float用fabs,并且要#include <math.h> 84 3. VC6.0自动对齐,选中需要对齐的程序,按ALT+F8 85 4. F2(或者shift + F2)可以跳转到下一处标记 86 CTRL + shift + F2 取消所有标记 87 CTRL + F2可以添加或取消某一个标记 88 5. for 语句和while 语句的相互转化,但是for的逻辑性更强,推荐多使用for循环 89 90 for (1; 2; 3) 91 A; 92 等价于 93 1; 94 while(2) 95 { 96 A; 97 3; 98 } 99 */
菲波拉契序列_递归:
1 /*
2 菲波拉契序列
3 1 2 3 5 8 13 21 34
4 */
5
6 # include <stdio.h>
7
8 int main(void)
9 {
10 int n;
11 int f1, f2, f3;
12 int i;
13
14 f1 = 1;
15 f2 = 2;
16
17 printf("请输入您需要求的想的序列: ");
18 scanf("%d", &n);
19
20 if (1 == n)
21 {
22 f3 = 1;
23 }
24 else if (2 == n)
25 {
26 f3 = 2;
27 }
28 else
29 {
30 for (i=3; i<=n; ++i)
31 {
32 f3 = f1 + f2;
33 f1 = f2;
34 f2 = f3;
35 }
36 }
37
38 printf("%d\n", f3);
39
40 return 0;
41 }
试数:设n = 6
1> i=3 3<=6 成立
f3=1+2=3 f1=f2=2 f2=f3=3 ++i i=4
2> i=4 4<=6 成立
f3=2+3=5 f1=3 f2=5 i=5
3> i=5 5<=6 成立
f3=3+5=8 f1=5 f2=8 i=6
4> i=6 6<=6 成立
f3=5+8=13 f1=8 f2=13 i=7
5> i=7 7<=6 不成立
标签:
原文地址:http://www.cnblogs.com/moon1992/p/4536555.html