c语言上机题库[编辑]
C语言上机题库类型
1、程序填空题
例子如下
请补充函数fun(),该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:1,1,1,2,2,2,3,4,4,5,5,6,6,7,7,8,9,9,10,10。删除后,数组中的内容应该是:1,2,3,4,5,6,7,8,9,10。 #include<stdio.h>
#define N 80
int fun(int a[],int n)
{
int i, t,j=0; t=a[0];
for(i=1;i<n;i++)
if( ______ ) ;
else { ______ ; t=a[i]; }
a[j++]=t; return j;
}
main()
{
int a[N]={1,1,2,2,2,3,4,4,5,5,6,6,6,7,7,8,9,9,10,10},i,n=20;
printf("The original data:\n");
for(i=0;i<n; i++) printf("%4d",a[i]);
n=fun(a,n);
printf("\n\nThe data after deleted \n");
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("\n");
}
2、程序修改题
例子如下:
下列给定程序中,函数fun()的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60请改正程序中的错误,使它能得出正确的结果。
#include<stdio.h>
#include <conio.h>
/**********************found***********************/
void fun(int a,b)
{ int t;
/**********************found***********************/
t=b;b=a;a=t;
}
main() { int a,b; printf("Enter a, b: ");
{
scanf("%d%d",&a,&b);
fun(&a, &b);
printf("a=%d b=%d\n ", a,b);
}
3、程序设计题
例子如下:
下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N], int n),该函数的功能是:使数字右上半三角元素中的值乘以m。例如,若m的值为2,a数组中的值为
a=1 9
2 7
则返回主程序后a数组的值应为
2 18
2 14
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define N 5
int fun(int a[][N], int m)
{ int i,j; for(i=0;i<N;i++)
__
__
}
main()
{ int a[N][N],m, i, j; printf("*****The array*****\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++) {a[i][j]=rand()%20;
printf("%4d", a[i][j]); } printf("\n");
}
do m=rand()%10; while(m>=3);
printf("m=%4d\n",m); fun(a,m);
printf("THE RESULT\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++) printf("%4d",a[i][j]);
printf("\n");
}
}
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。