计算机题库2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:用while语句求1~100的累计和。
void b ky();
int fun(int n)
{
/**********B egin**********/
/********** End
**********/
}
void main()
{
int sum = 0;
sum=fun(100);
printf ("sum = %d\n", sum);
b ky();
}
void b ky()
{
FILE *IN,*OUT;
int i;
int iIN,iOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..it May Be Changed");
}
OUT=fopen("out.dat","w"); if(OUT==NULL)
{
printf("Please Verify The Current Dir.. it May Be Changed");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT); 【参考代码】
int i=1,sum=0;
while(i<=n)
{
sum=sum+i;
i++;
}
return sum;
2
int fun(char s[])
{
/**********B egin**********/
/********** End
**********/
}
main()
{
char str[]="Best wishes for
you!";
int k;
k=fun(str);
printf("k=%d\n",k);
b ky();
}
void b ky()
{
FILE *IN,*OUT;
char sin[80];
int iOUT,i;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The
Currernt Dir..it May Be
Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The
Current Dir.. It May Be
Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%s",sin);
iOUT=fun(sin);
}
fprintf(OUT,"%d\n",iOUT);
fclose(IN);
fclose(OUT);
}
【参考代码】
int i,k=0;
for(i=0;s[i]!='\0';i++)
if(s[i]>='a'&&s[i]<='z'||s[i
]>='A'&&s[i]<='Z')
k++;
return k;
3
【程序设计】
功能:求一批数中小于平均值的
数的个数。
#include
void b ky();
int average_num(int a[],int n)
{
/**********B egin**********/
/********** End
**********/
}
main()
{
int n,a[100],i,num;
scanf("%d",&n);
for(i=0;i scanf("%d",&a[i]); num=average_num(a,n); printf("the num is:%d\n",num); b ky(); } void b ky() { FILE *IN,*OUT; int n; int i[10]; int o; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(n=0;n<5;n++) { fscanf(IN,"%d",&i[n]); } o=average_num(i,5); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); 【参考代码】 int i,sum=0,k=0; double average; for(i=0;i sum=sum+a[i]; average=sum*1.0/n; for(i=0;i if(average>a[i]) k++; return(k); 4 【程序设计】 功能:求1到100之间的偶数之积。#include void b ky(); double fun(int m) { /**********B egin********* /********** End **********/ } main() { printf("ji=%f\n",fun(100)); b ky(); } void b ky() { FILE *IN,*OUT; int iIN,i; double dOUT; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Please Verify The Currernt Dir..it May Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Please Verify The Current Dir.. it May Be Changed"); } for(i=0;i<5;i++) { fscanf(IN,"%d",&iIN); dOUT=fun(iIN); fprintf(OUT,"%f\n",dOUT); } fclose(IN); fclose(OUT); } 【参考代码】 double y=1; int i; for(i=1;i<=m;i++) if(i%2==0)y*=i; return y; 5 【程序填空】 功能:求100-999之间的水仙花 数 说明:水仙花数是指一个三位数 的各位数字的立方和是这个数本 身。 例如:153=1^3+5^3+3^3)。 #include int fun(int n) { int i,j,k,m; m=n; /**********FILL**********/ _____ for(i=1;i<4;i++) { /**********FILL**********/ _____ m=(m-j)/10; k=k+j*j*j; } if(k==n) 【参考答案】 k=0 【空2【参考答案】 j=m%10 j=m-m/10*10 j=m-10*(m/10) 程序填空 功能:将一个字符串中下标为m的 字符开始的全部字符复制成为另 一个字符串。 #include void strcopy(char *str1,char *str2,int m) { char *p1,*p2; /**********FILL**********/ _____ p2=str2; while(*p1) /**********FILL**********/ _____ /**********FILL**********/ _____ } main() { int m; char str1[80],str2[80]; gets(str1); 【空1】 _____ 【参考答案】 p1=str1+m 【空2】【参考答案】 *p2++=*p1++ *p2=*p1,p2++,p1++ *p2=*p1++,p2++ *p2++=*p1,p1++ 【空2】【参考答案】 a[i][j]=2