C语言程序题1

  • 格式:docx
  • 大小:29.35 KB
  • 文档页数:9

功能:输入n个数,求这n个数中偶数的个数及平均值-------------------------------------------------------*/ #include <stdio.h>main(){/***********FILL***********/int i,n,m,_____;float s=0;scanf("%d",&n);/***********FILL***********/for(_____;i<=n;i++){ scanf("%d",&m);/***********FILL***********/if(_____){ a=a+1;s=s+m ; }}/***********FILL***********/printf("%f,%d",_____,a);}答案:位置1: a=0 位置 2:i=1 位置3: m%2==0 【或】 !(m%2)位置4: s/a 【或】 s*1.0/a 【或】 s*1./a/*------------------------------------------------------- 【程序填空】--------------------------------------------------------- 功能:计算并输出500以内能被13或17整除的自然数之和。

-------------------------------------------------------*/ #include <stdio.h>/***********FILL***********/int fun(_____ ){int i,s=0;/***********FILL***********/for (i=1;i<=k;_____){/***********FILL***********/if (i%13 == 0 || _____)s=s+i;}/***********FILL***********/_____;}main ( ){printf("%d\n", fun (500));}答案:位置 1:int k 位置 2:i++ 【或】 i=i+1 【或】 ++i 【或】 i+=1 【或】 i=1+i 位置 3:!(i%17) 【或】 i%17 == 0 【或】 i/17*17==i位置 4:return s 【或】 return (s)/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:从键盘上输入若个数,统计并输出最大数和最小数,当输入负数时结束输入。

-------------------------------------------------------*/#include "stdio.h"main(){float x,amax,amin;/***********FILL***********/scanf("%f",_____);amax=x; amin=x;/***********FILL***********/while( _____ ){ if(x>amax) amax=x;/***********FILL***********/if( _____ ) amin=x;scanf("%f",&x);}/***********FILL***********/printf("\nmax=%f\nmin=%f\n",amax,_____);}答案:位置 1:&x 位置 2:x>=0 【或】 0<=x 位置 3:x<amin 【或】 amin>x位置 4:amin程序改错==================================================/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:输入一个正实数eps,计算并输出下式的值,直到最后一项小于eps。

当eps输入的值为0.0001时和值为0.227361-------------------------------------------------------*/#include <stdio.h>#include <math.h>main(){double t=1.0/2,a=1,b=1,c=1,d=2,eps,s=0;/***********ERROR***********/scanf("%lf",eps);while(fabs(t)>=eps){s=s+t;a=-a;b=b+2;c=c+1;d=d+1;/***********ERROR***********/t=a*b/c*d;}/***********ERROR***********/printf("%d",s);}答案:位置 1:scanf("%lf",&eps);位置 2:t=a*b/(c*d); 【或】 t=(a*b)/(c*d); 位置 3:printf("%lf",s); 【或】 printf("%f",s);/*------------------------------------------------------ 【程序改错】--------------------------------------------------------题目:输入十个字符,统计其中的空格、回车和其它字符个数。

程序中共有4条错误语句,请改正错误。

--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/#include <stdio.h>main(){char ch;/**********ERROR**********/int i,num1,num2,num3;for(i=1;i<=10;i++)/**********ERROR**********/{ getchar();if(ch==' ')num1=num1+1;/**********ERROR**********/else if(ch='\n')num2=num2+1;/**********ERROR**********/else if num3=num3+1;}printf("空格=%d,回车=%d,其它=%d\n",num1,num2,num3);}答案:位置 1:int i,num1=0,num2=0,num3=0;位置 2:{ ch=getchar();位置 3:else if(ch=='\n')位置 4:else num3=num3+1;/*------------------------------------------------------【程序改错】--------------------------------------------------------题目:打印以下图形。

***************--------------------------------------------------------注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/#include<stdio.h>main ( ){ /**********ERROR**********/int i,j;k;for (i=1;i<6;i++){/**********ERROR**********/for(j=1;j<=5;j++)printf(" ");/**********ERROR**********/for(k=1;k<=5;k++)printf("*");/**********ERROR**********/printf("\n")}}答案:位置 1:int i,j,k;位置 2:for(j=1;j<=5-i;j++) 【或】 for(j=1;j<6-i;j++)位置 3:for(k=1;k<=i;k++) 【或】 for(k=1;k<i+1;k++)位置 4:printf("\n"); } 【或】 printf("\n");第1题(6.0分)【程序设计】题目:调用函数fun判断一个三位数是否"水仙花数"。

在main函数中从键盘输入一个三位数,并输出判断结果。

请编写fun函数。

所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。

例如,153是一个水仙花数,因为153等于1的立方加上5的立方加上3的立方之和。

注意:部分源程序给出如下。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

---------*/#include "stdio.h"int fun(int n){/**********Program**********//********** End **********/}main(){int n,flag;scanf("%d",&n);flag=fun(n);if(flag)printf("%d 是水仙花数\n",n);elseprintf("%d 不是水仙花数\n",n);yzj();}yzj(){FILE *IN,*OUT;int iIN,i;int iOUT;IN=fopen("2.in","r");if(IN==NULL){printf("Please Verify The Currernt Dir..It May Be Changed"); }OUT=fopen("2.out","w");if(OUT==NULL){printf("Please Verify The Current Dir.. It May Be Changed"); }for(i=0;i<10;i++){ fscanf(IN,"%d",&iIN);iOUT=fun(iIN);fprintf(OUT,"%d\n",iOUT);}fclose(IN);fclose(OUT);}答案:-------------------int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;else return 0;-----------------------------------第2题(6.0分)/*------------------------------------------------ 【程序设计】--------------------------------------------------题目:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。