第1套
一、填空题
给定程序的功能是求1/4的圆周长。函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。
例如:输入圆的直径值:19.527,输出为:15.336457
请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。
#include<stdio.h>
double fun(double d)
{
return 3.14159*d/4.0;
}
main()
{
double z;
printf("Input the d of the round:");
scanf("%lf",&z);
printf("L=%lf\n",fun(z));
}
二、改错题
下列给定程序中函数fun的功能是:计算正整数m的各位上的数字之积。例如,若输入202,则输出应该是0。
请修改程序中的错误,得出正确的结果
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构
#include<stdio.h>
#include<conio.h>
long fun(long n)
{
long r=1;
do
{
r*=n%10;
n/=10;
}while(n);
return(r);
}
main()
{
long m;
printf("\nplease enter a number:");
scanf("%ld",&m);
printf("\n%ld\n",fun(m));
}
三、编程题
请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整初的所有整数放在数组b中,通过n返回这些数的个数。
例如,若传送给m的值为20,则程序输出7 11 14。
请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include<conio.h>
#include<stdio.h>
#define N 100
void fun(int m,int*b,int*n)
{
int i,j=0;*n=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)
{
b[j]=i;
j++;
}
*n=j;
}
main()
{
int a[N],n,i;
FILE*out;
fun(20,a,&n);
for(i=0;i<n;i++)
if((i+1)%20==0)
printf("%4d\n",a[i]);
else
printf("%4d",a[i]);
printf("\n");
out=fopen("outfile.dat","w");
fun(100,a,&n);
for(i=0;i<n;i++)
if((i+1)%10==0)
fprintf(out,"%4d\n",a[i]);
else
fprintf(out,"%4d",a[i]);
fclose(out);
}
fprintf作用第2套
一、填空题
函数fun的功能是:统计长整数test的各位上出现数字5、6、7的次数,并通过外部(全局)变量sum5、sum6、sum7返回主函数。
例如:当test=89431676时,结果应该为:sum5=0 sum6=2 sum7=1。
请勿改动主函数main与其它函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。
#include<stdio.h>
int sum5,sum6,sum7;
void fun(long test)
{
sum5=sum6=sum7=0;
while(test)
{
switch(test%10)
{
case 5:sum5++;break;
case 6:sum6++;break;
case 7:sum7++;
}
test/=10;
}
}
main()
{
long test=89431676L;
fun(test);
printf("\nThe count result:\n");
printf("test=%ld sum5=%d sum6=%d sum7=%d\n",test,sum5,sum6,sum7);
}
二、改错题
下列给定程序中,函数fun的功能是:将字符串str中的小写字母都改为对应的大写字母,其它字符不变。例如,若输入“asAS”,则输出“ASAS”。
请修改程序中的错误,使它能统计出正确的结果。
注意:不要改动 main函数,不能增行或删行,也不能更改程序的结构
#include<conio.h>
#include<stdio.h>
#include<string.h>
char*fun(char str[])
{
int i;
for(i=0;str[i];i++)
if((str[i]>='a'&&str[i]<='z'))
str[i]-=32;
return(str);
}
main()
{
char str[81];
printf("\nplease enter a string:");
gets(str);
printf("\nThe result string is:\n%s",fun(str));
}
三、编程题
请编写一个函数fun,它的功能是:出一维整型数组元素中最小的值和它所在的下标,最小的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。
主函数中a是数组名,n是a中的数据个数,min存放最小值,flag存放最小值所在元素的下标
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void fun(int b[],int n,int*min,int*d)
{
int i;
*min=b[0];
*d=0;
for(i=0;i<n;i++)
if(b[i]<*min)
{
*min=b[i];
*d=i;
}
}
main()
{
int i,a[20],min,flag,n=10;
FILE*out;
for(i=0;i<n;i++)
{
a[i]=rand()%50;
printf("%4d",a[i]);
}
printf("\n");
fun(a,n,&min,&flag);
printf("min=%5d,Index=%4d\n",min,flag);
out=fopen("outflie.dat","w");
memcpy(a,"3.141592653589793238462643383279",32);
fun(a,8,&min,&flag);
fprintf(out,"min=%5d,Index=%4d",min,flag);
fclose(out);
}
第3套 上机考试试题
一、填空题
请补充main函数,该函数的功能是:从键盘输入一组整数,使用条件表达式出最大的整数。当输入的整数为-1时结束。例如:输入96 121 23 343 232 54 89 365 89 -1时,最大的数为365。
仅在横线上填写所需的若干表达式或语句,请勿改动函数中的其它任何内容
#include<stdio.h>
#include<conio.h>
#define NUM 100
main()
{
int n[NUM];
int i=-1;
int MAX=-1;
printf("\nInsert integer with the '-1' as end:\n");
do
{
i++;
printf("n[%d]=",i);
scanf("%d",&n[i]);
MAX=MAX<n[i]?n[i]:MAX;
}while(n[i]!=-1);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论