黑龙江大学C语言程序设计试题库程序改错
更新时间:2023-03-29 08:41:01 阅读量: 建筑文档 文档下载
程序改错 功能:给定 n 个实数,输出平均值,并统计在平均值以下(含平 均值)的实数个数。 例如: n=6 时,输入 23.5, 45.67, 12.1, 6.4, 58.9, 98.4 所得 平均值为 40.828335,在平均值以下的实数个数应为 */
#include <stdio.h> int fun(float x[],int n) { int j,c=0;
/**********FOUND**********/ float j=0; /**********FOUND**********/ for(j=0;j<=n;j++) xa+=x[j];
xa=xa/n; printf("ave=%f\n",xa); /**********FOUND**********/ for(j=0;j<=n;j++)
if(x[j]<=xa) c++; return c;
}
void main(void)
{
float x[]={23.5,45.67,12.1,6.4,58.9,98.4}; printf("%d\n",fun(x,6));
}
float xa=0.0; 或 for(j=0;n>j;j++) 或 for(j=0;n-1>=j;j++) 或 for(j=0;j<=n-1;j++)
或 for(j=0;n>j;j++) 或 for(j=0;j<=n-1;j++) 或 for(j=0;n-1>=j;j++) 功能:编写函数fun,求两个整数的最小公倍数,然后用主 函数main()调用这个函数并输出结果,两个整数由 键盘输入。 */
#include "stdio.h"
main()
{
unsigned int m,n,q; printf("m,n=");
scanf("%d,%d",&m,&n); 3。
答案:
1). float xa=0;
或 2). for(j=0;j<n;j++)
/**********FOUND**********/
q==fun(m,n);
printf("p(%d,%d)=%d",m,n,q); getch(); }
int fun(int m,int n)
{
int i;
/**********FOUND**********/
if (m=n)
{
i=m;
m=n;
n=i;
}
for(i=m;i<=m*n;i+=m)
/**********FOUND**********/
if(i%n==1)
return(i);
答案:
1). q=fun(m,n);
2). if (m<n)
3). if(i%n==0)
功能:利用递归方法求5! 。
*/
#include"stdio.h" #include "stdio.h" main() {
int i;
int fact(); printf("5!=%d\n",fact(5));
}
int fact(j) int j;
{
int sum;
/**********FOUND**********/
if(j=0)
/**********FOUND**********/
sum=0;
else
sum=j*fact(j-1);
/**********FOUND**********/
return j; } 答案:
1). if(j==0)
2). sum=1;
3). return sum;
功能:用指针作函数参数,编程序求一维数组中的最大和最小的元素值.
#define N 10 /***********FOUND***********/ void maxmin(int arr[ ],int *pt1, *pt2, n) { int i;
*/
{
/***********FOUND***********/
*pt1=*pt2=&arr[0];
for(i=1;i<n;i++)
{
/***********FOUND***********/
if(arr[i]<*pt1) if(arr[i]<*pt2)
}
}
main( )
{
int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
/***********FOUND***********/
*p1=&a;*p2=&b;
maxmin(array,p1,p2,N);
printf("max=%d,min=%d",a,b);
}
答案:
1) . void maxmin(int arr[ ],int *pt1,int *pt2,int n) 或 maxmin(int arr[ ],int *pt1,int *pt2,int n) 或 void maxmin(int *arr,int *pt1,int *pt2,int n)
2) . *pt1=*pt2=arr[0]; 或 *pt1=*pt2=*(arr+0); 或 *pt2=*pt1=arr[0];
3) . if(arr[i]>*pt1) *pt1=arr[i]; 或 if(*(arr+i)>*pt1)) *pt1=arr[i]; 或 if(*pt1<*(arr+i))) *pt1=arr[i]; 或 if(*pt1<arr[i]) *pt1=arr[i];
4) . p1=&a;p2=&b;
功能:将长整型数中每一位上为偶数的数依次取出,构成一个新 数放在 t 中。高位仍在高位,低位仍在低位。 例如:当 s 中的数为: 87654 时, t 中的数为: 864。
*/
#include <conio.h>
#include <stdio.h> void fun (long s, long *t)
int d;
long sl=1;
*t = 0;
*pt1=arr[i
];
*pt2=arr[i
while ( s > 0)
{
d = s%10;
/**********FOUND**********/
if(d%2=0)
{
/**********FOUND**********/ *t=d* sl+ t;
sl *= 10;
}
/**********FOUND**********/
s\=10;
}
}
main()
{
long s, t;
clrscr();
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t); getch();
}
答案:
1). if( d%2 == 0 ) 或if(d%2!=1)
2). *t=d* sl+ *t; 或*t+=d*sl; 或*t+=sl*d; 或*t=*t+d* sl; 或*t=*t+sl*d;
3). s/=10; 或s=s/10;
功能:根据整型形参m,计算如下公式的值:
y=1/2+1/8+1/18+...+1/2m*m
#include "stdio.h" double fun(int m) {
/**********FOUND**********/
*/
*/ {
double y=0
int i;
/**********FOUND**********/
for(i=1; i<m; i++)
{
/**********FOUND**********/
y=+1.0/(2*i*i);
}
return(y);
}
main()
{
int n;
clrscr();
printf("Enter n: ");
scanf("%d", &n);
printf("\nThe result is %1f\n", fun(n)); getch(); }
答案:
1) . double y=0;
2) . for(i=1; i<=m; i++)
3) . y+=1.0/(2*i*i);
main( )
static int a[6][6];
int i,j,k;
/***********FOUND***********/
功能: 以下程序输出前六行杨辉三角形
,既
for(i=1;i<=6;i++)
{
for(k=0;k<10-2*i;k++)
printf(" ");
for(j=0;j<=i;j++)
{
/***********FOUND***********/ if(j==0&&j==i) a[i][j]=1;
else
/***********FOUND***********/
a[i][j]=a[i-1][j-1]+a[i][j-1]; printf(" "); printf("%-3d",a[i][j]);
}
/***********FOUND***********/
printf("\t");
}
}
答案:
1) . for(i=0;i<6;i++) 或 for(i=0;i<=5;i++)
2) . if(j == 0 || j == i)
3) . a[i][j]=a[i-1][j]+a[i-1][j-1]; 或 a[i][j]=a[i-1][j-1]+a[i-1][j];
4) . printf("\n");
*/ #include "string.h"
main()
{
int n,s;
/**********FOUND**********/ s==n=0;
/**********FOUND**********/
while(s>1000) {
++n; s+=n*n;
}
/**********FOUND**********/
printf("n=%d\n",&n-1);
getch(); }
答案: 1) . s=n=0;
2) . while(s<=1000)
3) . printf("n=%d\n",n-1);
功能:以下程序能求出 最
大的 n 。
1*1+2*2+ +n*n<=1000 中满足条件的
正在阅读:
黑龙江大学C语言程序设计试题库程序改错03-29
2016年雨季三防管理制度05-19
《宏观经济学》在线考试(主观题)05-20
冬季如何预防冻疮06-03
化妆舞会-相约“心起舞”策划书01-21
肺心病考试题09-20
坚持总会成功作文600字07-11
《SPSS》实验报告实验四11-01
你是我最讨厌的人作文500字07-14
魅力护城河作文600字07-10
- 在担当责任中培养主人翁意识
- 疫苗信任危机下的自我救赎
- 2015年湖南省农村信用社招考复习资料
- 《草原》课外阅读:五月的青岛(老舍)
- 最低生活保障申请审批流程
- 2015年中央财经大学保险硕士考研经验汇总@才思
- 司法考试必备—民法笔记(4)
- 2012初级会计实务讲义--行政事业单位会计
- 论东北三省跨界民族非物质文化遗产保护方式
- M4735A-SHANGHAI除颤仪
- 《那一年,面包飘香》
- word上机操作基础试题
- 用双脚弹钢琴的人
- 关于学会感恩的作文
- 2014年一月货币基金BR收益排名
- 二年级语文下册《画风》教学设计及教学反思
- 公因数和最大公因数 0
- 水产用药常识及注意事项
- 通用电气对中国的借鉴意义
- 龙年束姓女孩大气雅致取名大全
- 试题库
- 黑龙江
- 改错
- 程序设计
- 语言
- 程序
- 大学