C语言练习题
练习一:求2^2 + 4^2 + 6^2 + …n^2
- 直到累加和大于或等于10000为止,输出累加和
- 输出累加式中的项数i,以及最大的数n
#include <stdio.h>
int main()
{
int sum = 0;
int i = 1;
int an = 0;
while( sum < 10000 )
{
an = (2*i) * (2*i);
sum = sum + an;
i = i + 1;
}
i = i - 1;
printf("sum = %d\n", sum);
printf("an = %d\n", an);
printf("i = %d\n", i);
return 0;
}
练习二:编写程序近似计算圆周率π的值
- 提示:π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ……
- 要求:
- 分别打印前100,1000,10000项计算的π值
- 打印最后一项的绝对值小于10^-6时候的π值
a(n)=(-1)^(n+1) (1/(2n-1))
π=4S(n)
分别打印前100,1000,10000项计算的π值
#include <stdio.h>
int main()
{
double sum = 0.0;
double an = 0.0;
int i = 1;
int flag = 1;
while(i<= 1000000)
{
an = flag * (1.0/(2*i-1));
sum = sum + an;
flag = flag * (-1);
i = i + 1;
}
printf("PI = %f\n", sum*4);
return 0;
}
打印最后一项的绝对值小于10^-6时候的π值
#include <stdio.h>
int main()
{
double sum = 0.0;
double an = 1.0;
int i = 1;
int flag = 1;
while( !((-(1e-6) < an) && (an < 1e-6)))
{
an = flag * (1.0/(2*i-1));
sum = sum + an;
flag = flag * (-1);
i = i + 1;
}
printf("PI = %f\n", sum*4);
return 0;
}
练习三:编写程序,求出2-100以内的所有质数
- 要求:将所有求出的质数打印到屏幕
#include <stdio.h>
int main()
{
int i = 2;
while( i <= 100 )
{
int flag = 0;
int j = 2;
while( j < i )
{
if( i%j == 0 )
{
flag = flag + 1;
}
j = j + 1;
}
if( flag == 0 )
{
printf("%d, ", i);
}
i = i + 1;
}
printf("\n");
return 0;
}
练习四:在键盘上输入n个数,其中n也使用键盘输入
- 要求:输入完n个数之后,屏幕上打印输入的最小数
- 提示:使用循环结构连续在键盘上连续输入
#include <stdio.h>
int main()
{
int num = 1;
int i = 0;
int min = 0;
printf("Input number of integers: 10\n");
while(num<=10)
{
printf("Input number[%d]", num);
scanf("%d", &i);
if(i < min)
{
min = i;
}
num = num + 1;
}
printf("The min integer is: %d", min);
return 0;
}