阅读量:0
#部分题目可能在之前的博客中有,请谅解,保证常见题型均被发出#
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 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通过键盘输入
代码:
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值通过键盘输入
代码:
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时停止
代码:
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.求输入的十个整数中正数的个数及其平均值
代码:
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 //外层控制行: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
‘. 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三 值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?’
代码:
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; //将输入最大值赋给max 27 } 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 else 25 { 26 printf("%d 不是回文数\n", a); 27 } 28 29 return 0; 30 }
结果: