- 42
- 0
- 约2.11千字
- 约 4页
- 2017-06-07 发布于重庆
- 举报
C语言程序设计实验七_答案
编程题
从一个指定的自然数开始,按以下公式生成一个数列,直到为1,计算数列的长度(数列中数的个数)
例如:当 7 时生成的数列为:7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1.该数列的长度为17。文件名:myf71.c
【参考源程序】:
#include
#define N 1000
void main int n[N],i 0,k 1;
clrscr ;
printf input a number\n ;
scanf %d,n[0] ;
while n[i]! 1 if n[i]%2 0 n[i+1] n[i]/2; else n[i+1] 3*n[i]+1; k++; i++; for i 0;i k;i++ printf %3d,n[i] ;
printf \nThe length of sequence:,k ; 将任意的十个数组成的数列中的偶数存放于另一数组中,并以从大到小的顺序排列。文件名:myf72.c
#include
#include
void main int a[10],b[10],i,k,j 0,t;
system cls ; /*清屏*/
printf input array a:\n ;
for i 0;i 10;i++ scanf %d,a[i] ;
for i 0;i 10;i++ if a[i]%2 0 b[j++] a[i];
printf new array b:\n ;
for i 0;i j;i++
printf %d ,b[i] ;
for i 0;i j;i++
for k i;k j;k++
if b[i] b[k] t b[i]; b[i] b[k]; b[k] t; printf \n sort array b:\n ;
for i 0;i j;i++ printf %d ,b[i] ; 现有5名学生参加2门课程的考试,统计每门课程的平均成绩,并将两门课程的成绩都高于80分的信息存放于另一个数组中。文件名:myf73.c
【参考源程序】
#include
#define N 5
#defind M 2
void main int a[N+1][M] 0 ,b[N][M] 0 ,i 0,j 0,k 0;
printf input %d students %d grades\n,N,M ;
for i 0;i N;i++ for j 0;j M;j++ scanf %d,a[i][j] ;
for j 0;j M;j++ for i 0;i N;i++ a[N][j]+ a[i][j];
a[N][j]/ 5; printf Student grades table\n ;
for i 0;i N;i++ for j 0;j M;j++ printf %3d ,a[i][j] ;
printf \n ; for i 0;i N;i++ if a[i][0] 80a[i][1] 80 b[k][0] a[i][0]; b[k][1] a[i][1]; k++; printf \n Scores more than 80 points\n ;
for i 0;i k;i++ for j 0;j M;j++ printf %3d ,b[i][j] ;
printf \n ; 将一批数据逆序存放在原数组中。文件名:myf74.c
#include #define SIZE 12
void main int a[SIZE],j, k, t; for j 0;j SIZE;j++
scanf %d,a[j] ; j 0; k ____________; /* SIZE-1 */ while ______ /* j k*/ t a[j]; a[j] a[k]; a[k] t; j++; k--; for j 0;j SIZE;j++
printf %3d ,a[j] ; 输出如下方阵:文件名:myf75.c
2 4 7 9 5
4 7 9 5 2
7 9 5 2 4
9 5 2 4 7
5 2 4 7 9 #include
void main int a[5][5] 2,4,7,9,5 ,m,n,y; for m 1;m 5;m++ y ____________; /* a[m-1][0] */ for n 1;n 5;n++ ___________________; /* a[m][n-1] a[m-1][n] */ a[m][4] y; for m 0;m 5;m++ for n 0;n 5;n
原创力文档

文档评论(0)