第2部分--C语言程序设计练习五
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
《C 语言程序设计》练习五
五、程序设计题
1.从键盘上输入10个整数,并将其存放在一数组中,求出该数组中所有大于零且为偶数的数的平均值。
2.若有n 行n 列数组,试编写一程序,分别求出两条对角线元素之和。(从键盘输入n*n 个整型数,n ≤20)
3.从键盘输入n*n 个整型数(n ≤20),组成n 行n 列数组,打印出其上三角数组。
4.用以下近似公式编一个求π的近似值的程序。
1
21)1(715131141
--++-+-=-n n π,其中n 的值由键盘输入。
5.若数组a 中有十个整数8,2,5-3,7,-9,0,-4,10,15,请编程求出该数组中的最大值和最小值。
6.从键盘上输入一个正整数n(n ≤10),求n 的阶乘并输出结果。
7.请编程从键盘上输入十个整数,计算其中大于零的奇数的平均值,并输出这些大于零的奇数以及它们的平均值。
8.从键盘输入10个整数,编程求其中大于3且小于100的数的平均值并输出结果。
9.从键盘上输入10个整数,用冒泡法将它们按从小到大的次序排列出来,并把排列的结果输出。
10.用循环语句编程打印下列图案。(第一行的″$″在第20列)
$
$ $ $
$ $ $ $ $
$ $ $
$
11.由键盘输入n*m个数,并把它们存放在一个n行m列的数组中(n、m均不超过20)。(1)按n行m列输出该二维数组;
(2)求出该二维数组全部元素的平均值;
(3)把该二维数组中大于平均值的元素的值、以及它们行列下标打印出来。
12.从键盘上输入10个字符串(每个串不超过8个字符),将这些字符串按从小到大的次序
排列出来并输出排序后的结果。
13.从键盘上输入一个整数m,判断其是否为“完数”,如果是“完数”则输出“Yes”,否则输出“No”。(所谓完数是指一个数如果刚好与它所有的因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。而24不是完数,因为24≠ 1+2+3+4+6+8+12(=36)。一个数的因子是指该数能被该因子整除。)
14.编写一个函数(函数头为:int fun(int y)),其功能是:若参数y为闰年,则返回1,否则返回0。
15.编写一个名为countc函数(函数头为:int countc(char array[])),其功能是:统计array 数组中所存放的字符串中大写字母的数目,并返回字符串中大写字母的数目。
2
《C语言程序设计》练习五(参考答案)
五、程序设计题
1.从键盘上输入10个整数,并将其存放在一数组中,求出该数组中所有大于零且为偶数的数的平均值。
#include
void main()
{ int a[10],i,n=0;
float aver=0;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (i=0;i<10;i++)
if (a[i]>0 && a[i]%2==0)
{ aver+=a[i];
n++;
}
aver=aver/n;
printf("aver=%.2f\n",aver);
}
2.若有n行n列数组,试编写一程序,分别求出两条对角线元素之和。(从键盘输入n*n个整型数,n≤20)
#include
#define N 20
void main()
{ int a[N][N],n,i,j,k=0,t=0;
scanf(“%d”,&n);
for (i=0;i for (j=0;j scanf(“%d”,&a[i][j]); for (i=0;i { k+=a[i][i]; t+=a[i][n-1-i]; } printf(“k=%d,t=%d\n”,k,t) ; 3 4 } 3.从键盘输入n*n 个整型数(n ≤20),组成n 行n 列数组,打印出其上三角数组。 #include void main() { int a[20][20],i,j,n; scanf("%d",&n); for (i=0;i for (j=0;j scanf("%d",&a[i][j]); for (i=0;i { for (j=0;j printf("%4d",a[i][j]); printf("\n"); } } 4.用以下近似公式编一个求π的近似值的程序。 1 21)1(715131141 --++-+-=-n n π,其中n 的值由键盘输入。 #include void main() { float pi=0.0,s=1.0; int n,i; scanf("%d",&n); for (i=1;i<=n;i++) { pi=pi+ s/(2*i-1); s=s*(-1.0); } printf("pi=%f\n",pi*4); }