=======(答案3)=======
if(s[i]
=========或=========
if(s[j]>s[i])
第2题(15.0分)题号:
41
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
以下程序能求出满足条件:
1*1+2*2+......+n*n<=1000中的
最大的n。
说明:
输出:
n=13
------------------------------------------------------*/
#include
intmain()
{
intn,s;
/**********FOUND**********/
s==n=0;
/**********FOUND**********/
while(s>1000)
{
++n;
/***********FOUND***********/
s=n*n;
}
printf("n=%d\n",n-1);
return0;
}
答案:
=======(答案1)=======
s=n=0;
=========或=========
s=0,n=0;
=========或=========
s=0,n=0;
=========或=========
n=s=0;
=========或=========
s=0;n=0;
=======(答案2)=======
while(s<=1000)
=========或=========
while(1000>=s)
=======(答案3)=======
s+=n*n;
=========或=========
s=s+n*n;
=========或=========
s=s+n*n;
三、程序设计共2题(共计40分)
第1题(20.0分)题号:
380
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun其功能是:
根据整型形参m,计算如下
公式的值:
y=1+1/3+1/5+1/7+…+1/(2m+1)
例如:
若m=9,则应输出:
2.133256
------------------------------------------------*/
#include
floatfun(intm)
{
/**********Program**********/
/**********End**********/
}
intmain()
{
intn;
printf("Entern:
");
scanf("%d",&n);
printf("\nTheresultis%1f\n",fun(n));
return0;
}
答案:
----------------------
doubley=1;
inti;
for(i=1;i<=m;i++)
{y+=1.0/(2*i+1);}
return(y);
----------------------
第2题(20.0分)题号:
379
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
不使用字符串strlen函数,编写函数fun求一个字符串的长度,在main函数中
输入字符串,并输出其长度。
------------------------------------------------*/
#include
intfun(char*p1)
{
/**********Program**********/
/**********End**********/
}
intmain()
{
char*p,a[20];
intlen;
p=a;
printf("pleaseinputastring:
\n");
gets(p);
return0;
len=fun(p);
printf("Thestring'slengthis:
%d\n",len);
}
答案:
----------------------
char*p;
intn=0;
p=p1;
while(*p++)
n++;
returnn;
----------------------
试卷编号:
8275
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
读入一行英文文本,将其中每个单词的第一个字母改成
大写,然后输出此文本行(这里的“单词”是指由空格
隔开的字符串)。
例如:
若输入“iamastudenttotaketheexamination.”,
则应输出“IAmAStudenToTakeTheExamination.”。
-------------------------------------------------------*/
#include"conio.h"
#include
#include"ctype.h"
#include"string.h"
voidupfst(char*p)
{
/***********SPACE***********/
if(【?
】)/****upperthefirstcharofthestring***/
{
*p=toupper(*p);
p++;
}
/***********SPACE***********/
for(;*p;【?
】)/***searchthewholestring***/
/***********SPACE***********/
if(*(p-1)==''【?
】*p!
='')
*p=toupper(*p);
}
intmain()
{
charchrstr[81];
printf("\nPleaseenterastring:
");
gets(chrstr);
printf("\n\nBeforechanging:
\n%s",chrstr);
upfst(chrstr);
/***********SPACE***********/
printf("\nAfterchanging:
\n%s",【?
】);
return0;
}
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
写一个函数,求一个字符串的长度,不允许使用求字符串
长度的库函数。
在main函数中输入字符串,并输出其长度。
-------------------------------------------------------*/
#include
intmain()
{
intlength(char*p);
intlen;
charstr[20];
printf("pleaseinputastring:
\n");
gets(str);
/***********SPACE***********/
len=length(【?
】);
printf("thestringhas%dcharacters.",len);
return0;
}
/***********SPACE***********/
【?
】(char*p)
{
intn;
n=0;
while(*p!
='\0')
{
/***********SPACE***********/
【?
】;
/***********SPACE***********/
【?
】;
}
returnn;
}
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
根据整型形参m,计算某一数据项的值。
y=1/(100*100)+1/(200*200)+1/(300*300)+……+1/(m*m)
例如:
若m=2000,则应输出:
0.000160。
------------------------------------------------------*/
#include
#include
/**********FOUND**********/
fun(intm)
{
doubley=0,d;
inti;
/**********FOUND**********/
for(i=100,i<=m,i+=100)
{
d=(double)i*(double)i;
/**********FOUND**********/
y+=1.0\d;
}
return(y);
}
main()
{
intn=2000;
printf("\nTheresultis%lf\n",fun(n));
}
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
功能:
根据整型形参m,计算如下公式的值:
y=1+1/3+1/5+1/7+...+1/(2m-3)
------------------------------------------------------*/
#include
doublefun(intm)
{
doubley=0;
inti;
/**********FOUND**********/
for(i=1;i/**********FOUND**********/
y+=1.0/(2i-3);
return(y);
}
main()
{
intn;
printf("Entern:
");
/**********FOUND**********/
scanf("%d",n);
printf("\nTheresultis%1f\n",fun(n));
}
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun(),对某一正数(单精度)的值保留2位小数,
并对第三位进行四舍五入处理,然后作为函数值返回。
------------------------------------------------*/
#include
#include"conio.h"
voidwwjt();
floatfun(floath)
{
/**********Program**********/
/**********End**********/
}
voidmain()
{
floatm;
printf("Enterm:
");
scanf("%f",&m);
printf("\nTheresultis%8.2f\n",fun(m));
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
ints;
floatt;
doubleo;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(s=1;s<=5;s++)
{
fscanf(IN,"%f",&t);
o=fun(t);
fprintf(OUT,"%8.2f\n",o);
}
fclose(IN);
fclose(OUT);
}
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数fun(inttt[M][N],intpp[N]),求二维数组tt
每列中最大元素,并依次存入一维数组pp中。
二维数组
已在主函数中赋值。
------------------------------------------------*/
#include
#include
#defineM3
#defineN4
voidwwjt();
voidfun(inttt[M][N],intpp[N])
{
/**********Program**********/
/**********End**********/
}
intmain()
{
intt[M][N]={{22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
intp[N],i,j,k;
printf("Theoriginaldatais:
\n");
for(i=0;i{
for(j=0;jprintf("%6d",t[i][j]);
printf("\n");
}
fun(t,p);
printf("\nTheresultis:
\n");
for(k=0;kprintf("\n");
wwjt();
return0;
}
voidwwjt()
{