#部分题目可能在之前的博客中有,请谅解,保证常见题型均被发出#
1.计算n以内所有正奇数的和 ? n值通过键盘输入
代码:
cs
1 /*
2 需求:计算n以内所有正奇数的和 ? n值通过键盘输入
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 int sum = 0;
9 int a = 0;
10
11 printf("请输入一个正值:");
12 scanf("%d",&sum);
13
14 for(int i = 1;i <= sum;i++)
15 {
16 if(i % 2 != 0)
17 {
18 a += i;
19 }
20 }
21
22 printf("正奇数和为:%d\n",a);
23
24 return 0;
25 }
结果:
2.计算 1 + 1/(2 * 3) + 1/(3 * 4) + ...+ 1/(n * (n + 1)) = ?直到最后一相值小于0.00001为至。
代码:
cs
1 /*
2 计算 1+1/(2*3)+1/(3*4)+...+1/(n*(n+1))=?直到最后一相值小于0.00001为至。
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 double sum = 1.0;
9 double i = 1.0;
10 do
11 {
12
13 sum = sum + 1.0 / ((i + 1) * (i + 2));
14 i++;
15
16 }while(1.0 / ((i + 1) * (i + 2)) >= 0.00001);
17
18
19 printf("%lf\n",sum);
20
21 return 0;
22 }
结果:
3.计算1+1/2 - 1/3 + 1/4 - 1/5 ...+1/n= ? n通过键盘输入
代码:
cs
1 /*
2 需求:计算1+1/2 - 1/3 + 1/4 - 1/5 ...+1/n= ? n通过键盘输入
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 int a;
9 int b = 2;
10 double sum = 1; //找出题目的关系为1加上n分之1,再减n+1分之1,将算是前1直接赋给sum,利于找出关系表达式
11 printf("请输入一个数字:\n");
12 scanf("%d",&a);
13
14 do
15 {
16 if(b % 2 == 0) //题目可知被二整除为加号
17 {
18 sum += 1.0 / b;
19 }
20 else //不被二整除为减号
21 {
22 sum -= 1.0 / b;
23 }
24 b++;
25 }while(b <= a); //当b大于输入值时跳出循环
26
27 printf("输出的值为:%f\n",sum);
28
29
30
31 return 0;
32 }
结果:
4.计算n的阶乘 ? n! = 123.....*n n值通过键盘输入
代码:
cs
1 /*
2 需求:计算n的阶乘 ? n! = 123.....*n n值通过键盘输入
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 int b = 0,sum = 1; //sum要算乘法所以赋值不能为0
9 printf("请输入一个整数数值:");
10 scanf("%d",&b);
11
12 for(int a = 1;a <= b;a++) //当a循环到大于输入值b时停止循环
13 {
14 sum *= a; //等价于 sum = sum * a
15 }
16
17 printf("你输入的数值%d的阶乘为%d\n",b,sum);
18
19 return 0;
20 }
结果:
5.输出半径为1~10的圆面积,面积大于100时停止
代码:
cs
1 /*
2 需求:输出半径为1~10的圆面积,面积大于100时停止
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 double s = 1.0;
9 int r = 1;
10 double PI = 3.1415926;
11 while(1) //当前循环为死循环,但是是可控制死循环
12 {
13 s = PI * r * r; //圆的面积=pi×r×r
14 r++;
15 if(s > 100)
16 {
17 break; //面积大于100,提前跳出,不再输出
18 }
19 printf("当前圆的面积为:%.3f\n",s); //每次输出圆的面积
20 }
21
22 printf("输出结束!\n");
23
24 return 0;
25 }
结果:
6.求输入的十个整数中正数的个数及其平均值
代码:
cs
1 /*
2 需求:求输入的十个整数中正数的个数及其平均值
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 int b;
9 int d = 0;
10 double sum = 0.0;
11 double c = 0.0;
12
13 for(int a = 1;a <= 10;a++)
14 {
15 printf("请输入一个数:");
16 scanf("%d",&b);
17
18 if(b >= 0)
19 {
20 sum = sum + b;
21 d++;
22 }
23 }
24
25 c = sum / d;
26 printf("您输入的正数共%d个\n",d);
27 printf("输入数的均值为:%.2f\n",c);
28
29 return 0;
30 }
结果:
7.打印出100以内能整除7之外的的自然数
代码:
cs
1 /*
2 需求:打印出100以内能整除7之外的的自然数
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 for(int a = 1;a <= 100;a++)
9 {
10 if(a % 7 ==0) //如果能被7整除则输出
11 {
12 printf("%d ",a); //每满足一个打印一次,并且空格
13 }
14 }
15
16 printf("\n"); //回车保证美观性
17
18 return 0;
19 }
20
结果:
8.打印乘法表
代码:
cs
1 /**
2 *嵌套循环案例:九九乘法表
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 //九九乘法表,总共9行,列数受行数影响,涉及行列首选双重嵌套for循环。
9 //for循环,外层循环控制行数,内层控制列数
10
11 //外层控制行:9
12 for(int i = 1;i <= 9;i++)
13 {
14 //内层循环控制列:9,列小于等于当前行
15 for(int j = 1;j <= i;j++)
16 {
17 //生成当前行中所有乘法序列
18 printf("%d×%d=%d ",j,i,i*j);
19 }
20
21 printf("\n");//每一行结束需要换行
22
23 }
24 printf("\n");
25
26 return 0;
27 }
结果:
作业9
'. 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三 值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?'
代码:
cs
1 /*
2 需求:我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 int man; //公鸡
9 int woman; //母鸡
10 int son; //雏鸡
11
12 for(man = 0;man < 20;man++) //公鸡最多买20只,所以买100只鸡不可能大于20只公鸡
13 {
14 for(woman = 0;woman < 33;woman++) //最多33只母鸡,买100只鸡不可能大于33只母鸡
15 {
16 for(son = 0;son < 100;son++)//买100只鸡不可能大于100只小鸡
17 {
18 if(man*5 + woman*3 + son/3 ==100 && man + woman + son ==100 && son%3 ==0)
19 {
20 printf("公鸡:%d只,母鸡:%d只,雏鸡:%d只\n",man,woman,son);
21 }
22 }
23 }
24 }
25
26 printf("\n");
27
28 return 0;
29 }
结果:
10.从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。
代码:
cs
1 /*
2 需求:从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 int max = 0;
9 int i = 1;
10
11 while(1)
12 {
13 printf("请输入无符号整型数据:");
14 scanf("%d",&i);
15
16 if(i == 0)
17 {
18 break; //循环为死循环,当i=0时控制循环结束
19 }
20 else if(i <= 0)
21 {
22 continue; //如果输入小于0,跳过本次循环
23 }
24 else if(i > max)
25 {
26 max = i; //将输入最大值赋给max
27 }
28
29 }
30
31 printf("您输入数值中最大值为:%d\n",max);
32
33 return 0;
34 }
结果:
11.判断一个数是不是回文数。
代码:
cs
1 /*
2 需求:判断一个数是不是回文数
3 */
4 #include <stdio.h>
5
6 int main()
7 {
8 int a, b;
9 int num = 0;
10 printf("请输入一个整数: ");
11 scanf("%d", &a);
12
13 b = a;
14
15 while (b!= 0)
16 {
17 num = num * 10 + b % 10; //实现反转
18 b /= 10;
19 }
20
21 if (a == num) {
22 printf("%d 是回文数\n", a); //如果输出的和输入的数相同
23 }
24 else
25 {
26 printf("%d 不是回文数\n", a);
27 }
28
29 return 0;
30 }
结果: