#部分题目可能在之前的博客中有,请谅解,保证常见题型均被发出#
1.计算n以内所有正奇数的和 ? n值通过键盘输入
代码:
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为至。
代码:
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 do11 {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通过键盘输入
代码:
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 do15 {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值通过键盘输入
代码:
1 /*2 需求:计算n的阶乘 ? n! = 123.....*n n值通过键盘输入3 */4 #include <stdio.h>5 6 int main()7 {8 int b = 0,sum = 1; //sum要算乘法所以赋值不能为09 printf("请输入一个整数数值:");10 scanf("%d",&b);11 12 for(int a = 1;a <= b;a++) //当a循环到大于输入值b时停止循环13 {14 sum *= a; //等价于 sum = sum * a15 }16 17 printf("你输入的数值%d的阶乘为%d\n",b,sum);18 19 return 0;20 }
结果:
5.输出半径为1~10的圆面积,面积大于100时停止
代码:
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×r14 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.求输入的十个整数中正数的个数及其平均值
代码:
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之外的的自然数
代码:
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.打印乘法表
代码:
1 /**2 *嵌套循环案例:九九乘法表3 */4 #include <stdio.h>5 6 int main()7 {8 //九九乘法表,总共9行,列数受行数影响,涉及行列首选双重嵌套for循环。9 //for循环,外层循环控制行数,内层控制列数10 11 //外层控制行:912 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
‘. 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三 值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?’
代码:
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 结束 ,输出所输入数据中的最大值。
代码:
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; //将输入最大值赋给max27 }28 29 }30 31 printf("您输入数值中最大值为:%d\n",max);32 33 return 0;34 }
结果:
11.判断一个数是不是回文数。
代码:
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 else25 {26 printf("%d 不是回文数\n", a);27 }28 29 return 0;30 }
结果: