#练习题
第一题:
计算n以内所有正奇数的和 ? n值通过键盘输入
代码:
#include <stdio.h>
#include <math.h>
int main(int argc,char *argv[])
{
// 创建一个变量,用来存放奇数和
int sum = 0;
// 创建一个变量
int i = 1;
// 创建一个变量,用来控制最高位的数
int n;
printf("请您输入一个累加和的最高位:\n");
scanf("%d",&n);
while(i <= fabs(n))
{
if(i % 2 !=0)
{
sum += i;
}
i++;
}
printf("1~%d以内的所有正奇数和:%d\n",(int) fabs(n),sum);
return 0;
}
运行结果:
第二道题
计算 1 + 1/(2 * 3) + 1/(3 * 4) + …+ 1/(n * (n + 1)) = ?直到最后一相值小于0.00001为至。
代码:
#include <stdio.h>
int main()
{
double sum = 1.0; // 初始化总和为1,因为序列的第一项是1
double and; // 用于存储当前项的值
int n = 2; // 从第二项开始计算
while (1)
{
and = 1.0 / (n * (n + 1));
if (and < 0.00001)
{
break;
}
sum += and;
n++;
}
printf("截至第%d项,累加和的值为: %lf\n", n, sum);
return 0;
}
执行结果:
第三道题
计算1+1/2 - 1/3 + 1/4 - 1/5 …+1/n= ? n通过键盘输入(int k = -1)
代码:
#include <stdio.h>
int main()
{
int n;
float sum = 0;
int k = 1;
printf("请输入一个整数: \n");
scanf("%d", &n);
if (n <= 0)
{
printf("必须是正整数!\n");
return 1;
}
for (int i = 1; i <= n; i++)
{
sum += k * (1.0 / i);
k = -k;
}
printf("计算的和为: %f\n", sum);
return 0;
}
运行结果:
第四道题
计算n以内所有正奇数的和 ? n值通过键盘输入
代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
int sum = 0;
int i = 1;
int n;
printf("请输入一个正整数!\n");
scanf("%d",&n);
while(i <= n)
{
sum += i * (i+1);
i++;
}
printf("n的阶乘值为:%d\n",sum);
return 0;
}
运行结果:
第五道题
输出半径为1~10的圆面积,面积大于100时停止
代码:
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
float sum = 0;
int r = 1;
float PI = 3.14;
for (;r <= 10;r++)
{
sum = PI * r * r;
if (sum > 100)
{
break;
}
printf("半径为:%d时,面积为:%.2f\n",r,sum);
}
return 0;
}
运行结果:
第六道题
求输入的十个整数中正数的个数及其平均值
代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
int i = 1;// 用来控制输入的个数
int m;// 接收输入的数值
double sum;// 接收计算的结果
printf("请输入10个整数:\n");
scanf("%d",&m);
for(;i <= 10;i++)
{
scanf("%d",&m);
sum += m;// sum = sum + m;
}
printf("输入的十个整数的平均值为:%.2lf\n",sum / 10);
return 0;
}
运行结果:
第七道题
打印出100以内能整除7之外的的自然数
代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
int i = 1;
for(;i <= 100;i++)
{
if(i % 7 == 0)
{
continue;
}
printf("%5d\t",i);
}
printf("\n");
return 0;
}
运行结果:
第八道题
打印九九乘法表
#include <stdio.h>
int main()
{
int i, j;
// 打印九九乘法表
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%-2d ", j, i, i * j);
}
printf("\n");
}
return 0;
}
运行结果:
第九道题
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
int g, m, c;
for (g = 0; g <= 20; g++)
{
for (m = 0; m <= 33; m++)
{
c = 100 - g - m;
if (c >= 0 && c % 3 == 0 && (5 * g + 3 * m + c / 3) == 100)
{
printf("公鸡: %d, 母鸡: %d, 雏鸡: %d\n", g, m, c);
}
}
}
return 0;
}
运行结果:
第十道题
从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。
代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
int a,max = 1;
while (1)
{
printf("请输入值:\n");
scanf("%d", &a);
if (max < a)
{
max = a;
}
if (a == 0)
{
break;
}
}
printf("输入数值中最大的为:%d\n",max);
return 0;
}