黑龙江大学C语言程序设计试题库程序改错
更新时间:2023-08-08 04:16: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语言程序设计试题库程序改错08-08
高中社会实践报告7篇03-28
音乐鉴赏答案07-03
最高人民法院民事裁判规则(7)01-16
自1979年中美两国正式建交以来11-12
广东省高级人民法院关于民商事审判适用代位权制度若干问题的指导07-05
描写大海的作文600字07-05
初中九年级政治易错知识点归纳06-16
板式家具开料机使用的注意事项12-02
服装公司质检部绩效考核表08-07
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 试题库
- 黑龙江
- 改错
- 程序设计
- 语言
- 程序
- 大学