c语言上机题(1)
- 格式:doc
- 大小:128.50 KB
- 文档页数:13
计算机二级C语言上机(南开大学)100题程序填空题1 补充fun函数,fun函数的功能是求10的阶乘。
n>1 n-1 n==12 在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出数列是一种整数数列,其中每数等于前面两数之和n==o n==1 fun(n-1)+fun(n-2)3 补充函数fun(char*s),该函数的功能是把字符串中的内容逆置s+i<s+n-1-i*(s+i)=(s+n-1-i) *(s+n-1-i)=t4 补充函数fun,他的功能是计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和i<=ni%3==0||i%7==0 1.0/i5 功能是求1/2的圆面积,函数通过形参得到圆的半径,函数返回1/2的圆面积r r*r &x6 功能是计算并输出下列级数的前N项合Sn,直到Sn大于q为止,q 的值通过形参传入<= n++return s7 函数fun的功能是统计长整数n的各个位上出现数字1.2.3的次数,并通过外部(全局)变量c1.c2.c3返回主函数n%10 break break8 补充main函数,功能是从键盘输入一组整数,使用条件表达式找出最大的整数,当输入的整数为0时结束&num[i]max<num[i]? num[i]!=09 给定程序的功能是分别统计字符串中大写字母和小写字母的个数(*a)++ (*b)++ upper,lower10 补充main函数,功能是从键盘输入3个整数,然后找出最大的数并输出。
max=a max=b max=c11 函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动1 s[k] c12 补充fun函数,功能是字符串tt中的大写字母都改为对应的小写字母,其他的字符不变。
tt[i]<='Z'tt[i]+=32 tt13 补充fun函数,功能是判断一个数是否为素数。
C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。
# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。
# include# define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。
# includevoid main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。
# includeint main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。
1。
阅读以下程序,说出其功能和运算结果。
#include 〈stdio.h〉int main( ){int n ;int factorial(int n);scanf(”%d”,&n) ;printf(”%d\n",factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}若输入5↙2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”.#include <stdio.h〉int mian( ){printf(”Welcome to You!\n”)return 0 ;}3.若输入4,程序运行结果为【1 】,若输入-4,运行结果为【2 】,若输入10,运行结果为【3 】.#include〈stdio.h〉main(){i nt x,y;scanf(”%d",&x);if(x〈1){y=x;printf("x=%d,y=x=%d\n”,x,y);}else if(x<10){y=2*x-1;printf(”x=%d,y=2*x—1=%d\n",x,y);}else{y=3*x-11;printf(”x=%d,y=3*x—11=%d\n”,x,y);}}4.当输入19,2,21时下列程序运行的结果是()。
#include<stdio。
h>main(){int a,b,c,max;printf(”please scan three number a,b,c:\n");scanf(”%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max〈c)max=c;printf("max is:%d”,max);}5. 运行以下程序时,从键盘键入China#<CR〉(〈CR〉代表回车),则下面程序的运行结果是。
第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。
试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){float…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}解答:#include <conio.h> #include <stdio.h> double fun( int n ) { double s=0; int i; for(i=1;i<n+1;i++) s+=1.0/(i*(i+1)); return s; } main() /*主函数 */ { system("cls"); printf("%f\n",fun(10)); }说明:主函数中的clrscr()函数为TC 下使用的清屏函数,在VC 中不能使用,在本题中可以直接删除或改为system("cls")2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?解答:#include <stdio.h>int main(void){int max,num=0;int i,j;for(i=10000;i<20001;i++){for(j=2;j<i;j++)if( i%j==0 )break;if( j==i && i%10==7){num++;max=i;}}printf("num=%d,max=%d\n",num,max);return 0;}3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。
C语言上机考试题(第一套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>main(){int k,m,s=0,i,b=0;for(k=10000;k<=20000;k++){if(k%10==7){for(i=2,b=0;i<k;i++)if(k%i==0)b++;if(b==0)m=k,s++;}}printf("这样的素数有%d个。
\n 其中最大的一个是%d\n",s,m);}3.#include <stdio.h>main(){int a;printf("请输入一个需要判断的年份:\n");scanf("%d",&a);if(a%4==0&&a%100!=0)printf("是闰年\n");elseif(a%400==0)printf("是闰年\n");elseprintf("不是闰年\n"); }C语言上机考试题(第二套)1. #include <conio.h>#include <stdio.h>double fun( int n ){double sum=0,a=1;for(;n>0;n--,a++)sum=sum+1/(a*(a+1));return sum;}main(){// clrscr();printf("%f\n", fun(10));}2.#include <stdio.h>fun(int n){int i,j=0;for(i=2;i<n;i++)if(n%i==0)j++;return j;}main(){int a,b=0,d,e,k;for(k=1;k<10;k++)if(fun(k)==0)a=k,b++;for(k=10;k<100;k++)if(fun(k)==0){e=k%10,d=k/10;if(e==d)a=k,b++;}for(k=100;k<=1000;k++)if(fun(k)==0){e=k%10,d=k/100;if(e==d)a=k,b++;}printf("[1,1000]之内既是回文数,又是素数的最大整数:%d\n",a);printf("[1,1000]以内既是回文数,又是素数的整数有%d个\n",b);}3.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}C语言上机考试题(第三套)1.//#include "conio.h"#include "math.h"#include "stdio.h" int fun(int t){int a=0,b=1,c,k;for(k=1;;k++){c=b;b=a+b;a=c;if(a>t)break;}return a;}main(){int n;//clrscr();n=1000;printf("n = %d, f = %d\n",n, fun(n));}2.#include "stdio.h"main(){int a[3][3],i,j,s=0;printf("请依次输入一个3*3矩阵:\n");for(i=0;i<3;i++)for(j=0;j<3;j++){scanf("%d",&a[i][j]);if(i==j||i+j==2)s=s+a[i][j]*a[i][j];}printf("对角线平方和为:%d\n",s);}3.#include<stdio.h>#include<string.h>#define N 81fun(char str[]){int i=0,j;while(i<N){if(str[i]<=57&&str[i]>=48)for(j=i;j<N;j++)str[j]=str[j+1];elsei++;}puts(str);}main(){char str[N];printf("请随意输入字符:");gets(str);fun(str);}C语言上机考试题(第四套)1.//#include "conio.h"#include "math.h"#include "stdio.h"double fun( int n){double s=0;int i;for(i=1;i<n;i++)if(i%21==0)s+=i;return sqrt(s);}main(){// clrscr();printf("s=%f\n", fun (1000) ); }2.#include "stdio.h"main(){int a,b,k;for(;;){printf("请输入两数:\n");scanf("%d%d",&a,&b);if(a>0&&b>0)for(k=a;k>=1;k--)if(a%k==0&&b%k==0)break;if(a%k==0&&b%k==0)break;}printf("这两个数的最大公约数是:%d\n",k);}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.00005)break;}printf("%f\n",2*(s+1));}C语言上机考试题(第五套)1.#include <conio.h>#include <stdio.h>int fun(int array[3][3]){int a[3][3],i,j;int b[3][3];for(i=0;i<3;i++){for(j=0;j<3;j++)a[i][j]=array[j][i];}for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=a[i][j];}main(){int i,j;intarray[3][3]={{100,200,300},{400,50 0,600},{700,800,900}};// clrscr();for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("converted array:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}2.#include <stdio.h>main(){float x,y,s=0;int n;for(x=1;x<=100;x++){n=x;if(n%2==0)y=-1/x;elsey=1/x;s=s+y;}printf("前n项和为:%f\n",s); }3.#include<stdio.h> main(){int a[101]={0},i,n,s=0,t;for(n=2;n<=100;n++){for(t=0,i=2;i<n;i++){if(n%i==0)t++;}if(t==0)a[n]=n;}for(n=2;n<=100;n++)if(a[n]!=0&&a[n+2]!=0)s++;printf("2~100中的所有的亲密素数对的个数为:%4d\n",s);}C语言上机考试题(第六套)1.#include "stdio.h"main(){int a,b,c,s,k;printf("请输入一个大于2小于1000的数:\n");scanf("%d",&k);printf("它的所有质因子是:\n");for(a=2;a<=k;a++)if(k%a==0){for(s=0,b=2;b<a;b++)if(a%b==0)s++;if(s==0)printf("%5d",a);}printf("\n");}2.//#include "conio.h"#include "stdio.h"int fun (int n){int s=0,k;for(k=2;k<n;k++)if(n%k==0)s+=k;return s;}main(){//clrscr();printf("%d\n", fun (120));}3.#include<stdio.h>main(){double a=1,b=1,i,j,s=0;int n;printf("请输入求和项数N:\n");scanf("%d",&n);for(i=1;i<=n;i++)s+=1/(i*(i+1));printf("数列前%d项求和为:%f\n",n,s);}C语言上机考试题(第七套)1.//#include <conio.h>#include <stdio.h>#include <math.h>double fun(double x , int n){double a=1,c,s=0,i;c=x;for(i=1;i<=n+1;i++){a=a*i;s=x/a+s;x=x*c;}s=s+1;return s;}main(){//clrscr();printf("%f\n", fun(0.3,10));}2.#include<stdio.h>main(){int a,b,c,d,k;for(k=100;k<=999;k++){a=k/100;b=(k-a*100)/10;c=k-a*100-b*10;d=a*a*a+b*b*b+c*c*c;if(k==d)printf("%5d",k);}printf("\n");}3.#include<stdio.h>#include<math.h>main(){float a,b,c,t,p;for(;;){printf("请正确输入三角形三边长:\n");scanf("%f%f%f",&a,&b,&c);if(a<b)t=a,a=b,b=t;if(b<c)t=b,b=c,c=t;if(a<b)t=a,a=b,b=t;if(a<b+c&&c>0)break;else continue;}p=(a+b+c)/2;t=sqrt(p*(p-a)*(p-b)*(p-c));printf("面积为:%f\n",t);}C语言上机考试题(第八套)1.#include <conio.h>#include <stdio.h>#include <string.h>float fun(int n){int i,s=0;float p=0;for(i=1;i<=n;i++){s+=i;p+=1.0/s;}return p;}main(){int n;float s;// clrscr()printf("\nPlease enter N:");scanf("%d", &n);s = fun(n);printf("the result is: %f\n", s); }2.#include<stdio.h>main(){int i;float h=100,s=100;for(i=1;i<=10;i++){h=h/2;s+=h*2;}printf("第10次落地时,共经过:%f米\n",s);printf("第10次反弹的高度为:%f米\n",h);}3.#include<stdio.h>double fun(){double a=1,b=1,i,j,s=0;for(i=1,j=3;;i++,j=j+2){a=a*i;b=b*j;s=s+a/b;if(a/b<0.000001)break;}s=2*(s+1);return s;}main(){printf("%f\n",fun());}C语言上机考试题(第九套)1.#include "conio.h"#include "stdio.h"void fun( int m, int k ){int a,b,e=1,s=0;for(b=m;;){a=b%k;b=b/k;s+=a*e,e=e*10;if(b<k){s+=b*e;break;}}printf("该数为:%d\n",s);}main( ){int b,n;//clrscr();printf("\nPlease enter a number and a basen\n");scanf("%d%d",&n,&b);fun(n,b);printf("\n");}2.#include "stdio.h"main(){int a,b;for(a=1;a<10;a++){b=a*a;if(b%10==a)printf("%4d\n",a);}for(a=10;a<100;a++){b=a*a;if(b%100==a)printf("%4d\n",a);}for(a=100;a<=1000;a++){b=a*a;if(b%1000==a)printf("%4d\n",a);}}3.#include<stdio.h>main(){float f1,f2,f;f1=2*(-1)*(-1)+3*(-1)+4;f2=-2*5.0*5.0+3*5.0-4;if(f1+f2<=2)f=2*(f1+f2)*(f1+f2)+3*(f1+f2) +4;elsef=-2*(f1+f2)*(f1+f2)+3*(f1+f2) -4;printf("计算结果为:%f\n",f); }C语言上机考试题(第十套)1.#include <conio.h>#include <stdio.h>long fun (int a, int n){long b,e,temp,t,k=1,sum=0;if(a<10&&a>0&&n>1&&n<10){temp=a;for(;k<=n;k++){for(b=0,e=1,t=1;t<=k;t++){a=temp;a=e*a;e=e*10;b+=-a;}sum+=b;}sum+=-2*b;return sum;}else printf("输入有的A或者N 有问题求和结果不正确\n");}main( ){int a, n;//clrscr() ;printf("\nPlease enter a and n:\n ") ;scanf("%d%d",&a,&n) ;printf("The value of function is: %1d\n",fun(a,n));}2.#include <stdio.h>fun(int n){int k,a=0;for(k=2;k<n;k++)if(n%k==0)a++;return a;}main(){int i,j,k,n,t,a,b;for(n=4;n<=100;n=n+2){for(i=2;i<n;i++){j=n-i;if(fun(i)==0&&fun(j)==0)break;}printf("%d=%d+%d\n",n,i,j);}}3.#include <stdio.h>main(){int k,l,m,s=0;for(k=0;k<=10;k++)for(l=0;l<=5;l++)for(m=0;m<=2;m++)if(100==k*10+l*20+m*50)s++;printf("共有%d 种不同的兑换方法\n",s);}C语言上机考试题(第十一套)1.#include<conio.h>#include <stdio.h>double fun ( int x[ ]){int a[1000];int i,j=0,k=0;double s=0;while(x[j]!='\0'){if(x[j]>0){a[k]=x[j];k++;}j++;}for(i=0;i<k;i++)s+=a[i];return s/k;}main( ){int x[1000]; int i=0;// clrscr();printf("\nPlease enter some data (end with 0) ");do{scanf("%d",&x[i]);}while(x[i++] !=0);printf("%f\n",fun ( x ));}2.#include<stdio.h>#include<string.h>#define N 10main(){char str[N];int i=0,flag=0;long num=0;printf("请输入连续数字字符(最多10为数字) :");gets(str);while(str[i]!='\0'&&str[i]!='a'){if(str[i]=='-')flag=1;elseif(str[i]=='+')flag=0;elsenum=num*10+(str[i]-'0');i++;}if(flag==1)num=-num;printf("由数字字符串转化成整数是:%ld\n",num);}3.#include<stdio.h>main(){int a,b,c,s=0;for(a=0;a<=33;a++)for(b=0;b<=50;b++)for(c=0;c<=100;c=c+2)if(100==3*a+2*b+c/2&&a+b+c ==100)s++;printf("共有驼法:%d种\n",s);}C语言上机考试题(第十二套)1.#include <conio.h>#include <stdio.h>float fun(int m, int n){float t,p,j,i,k,o;if(m<n)t=m,m=n,n=t;for(p=1,j=1,i=1,o=m;p<=m-n;o--,p++){j=o*j;i=p*i;}k=j/i;return k;}main() /*主函数*/{// clrscr();printf("P=%f\n", fun (12,8)); }2.#include<stdio.h>main(){int x,y,z,i;printf("1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数:\n");for(i=1;i<=1000;i++){x=i%7,y=i%11;if(x==0&&y!=0||y==0&&x!=0)printf("%4d",i);}printf("\n");}3.#include<stdio.h>main(){int a[3][3],i,j,sum=0;for (i=0;i<3;i++){for (j=0;j<3;j++)scanf("%d",&a[i][j]);}for (i=0;i<3;i++){for (j=0;j<3;j++){if(i+j==2||i==j)sum=sum+a[i][j];}}printf("%d",sum);}C语言上机考试题(第十三套)1.#include <stdio.h>double fun(int n){double a=1,b=2,c,sum=0;for(;n>0;n--){sum=a/b+sum;c=a+b;a=b;b=c;}return sum;}main(){int n;printf("Enter n: ");scanf("%d", &n);printf("\nThe result : %f \n", fun(n));}2.#include <stdio.h>#include <string.h>main(){char str[81];int i,j=0,w=1,s=0;printf("请输入一串字符:\n");gets(str);for(i=0;i<strlen(str);i++){if(str[i]==' ')s++;if(str[i]==' '&&str[i+1]!=' ')w++;}if(str[0]==' ')w--;if(str[strlen(str)-1]==' ')w--;printf("单词个数为:%d\n空格个数为:%d\n",w,s);}3.#include <stdio.h>main(){int k=1,sum=0;for(;k<200;k=k+2)sum=sum+k;printf("sum=%d\n",sum);}C语言上机考试题(第十四套)1.#include "conio.h"#include "stdio.h" #include "math.h"float fun(int n){float a=0,b=0,c=1,d,e,s=0,k;for(k=1;k<=n;k++){s+=sqrt(a);d=a+b+c;a=b,b=c;c=d;}return s;}main ( ){int n;//clrscr( );printf("Input N=");scanf("%d", &n);printf("%f\n", fun(n));}2.#include<stdio.h>fun(int s[10]){int i,j;for(i=1;i<10;i++)for(j=0;j<10-i;j++)if(s[j]<s[j+1]){int temp;temp=s[j];s[j]=s[j+1];s[j+1]=temp;}printf("这10个数按从大到小排列为:\n");for(i=0;i<10;i++)printf("%d",s[i]);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}3.#include<stdio.h>fun(int s[10]){int i;float a=0;for(i=1;i<9;i++)if(s[i]>s[i+1]){int temp;temp=s[i];s[i]=s[i+1];s[i+1]=temp;}printf("这10个数中最大的为:%d\n",s[9]);for(i=0;i<10;i++)a+=s[i];printf("平均数为:%.1f",a/10);}main(){int s[10],i=0;printf("请输入10个整数:");for(;i<10;i++)scanf("%d",&s[i]);fun(s);printf("\n");}C语言上机考试题(第十五套)1.#include"conio.h"#include"stdio.h"double fun(int m){double a=1,b,j,s=0;for(j=1;j<=m;j++){a=a*j;b=1/a;s+=b;}return s;}main(){int n;//clrscr();printf("Enter n ");scanf("%d", &n);printf("\nThe result is%1f\n", fun(n));}C语言上机考试题(第十六套)1.#include <math.h>#include <stdio.h>float fun(float num){float i=3.0,j=-1.0,k=1.0;while(fabs(1.0/i)>num){k=k+j/i;j=-j;i+=2;}return k*4;}main(){ float n1,n2;//clrsct( );printf("Enter a float numder:");scanf("%f",&n1);n2=fun(n1);printf("%6.4f\n",n2);}2.#include <stdio.h>#include <stdlib.h>void md(int num,int b[20]){int i;for(i=0;i<num;i++)b[i]=rand()%32768;}main(){ int a[20],n,i,j,temp;//clrsct();printf("Enter a int numder:");scanf("%d",&n);md(n,a);for(i=0;i<n;i++){for(j=i+1;j<n;j++)if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}printf("%8d",a[i]);}}3.#include <stdio.h>void main(){int i,j,k;for(i=2;i<=1000;i++){for(j=1,k=0;j<i;j++)if(i%j==0)k+=j;if(k==i)printf("%6d",k);}}C语言上机考试题(第十七套)1.#include "stdio.h"fun(int x,int y , int z ){int j=1;for(;;j++)if(j%x==0&&j%y==0&&j%z= =0)break;return j;}main( ) {int x1,x2,x3,j ;printf("Input x1 x2 x3:\n");scanf("%d%d%d",&x1,&x2,&x 3 ) ;printf("x1=%d, x2=%d, x3=%d\n",x1,x2,x3);j = fun(x1,x2,x3);printf("The minimal common multiple is:%d\n",j);}2.#include "stdio.h"main(){int a,b,sa,sb,k,t;for(a=1;a<=1000;a++){sa=0,sb=0;for(k=1;k<a;k++)if(a%k==0)sa+=k;if(sa<=1000)b=sa;for(t=1;t<b;t++)if(b%t==0)sb+=t;if(a==sb&&a!=b)printf("a=%d\ nb=%d\n\n\n",a,b);}}3.#include "stdio.h"main(){int a,b,c,s=0,k;for(k=100;k<1000;k++){a=k/100,b=k/10%10,c=k%10;if(a!=b&&a!=c&&b!=c)s++;}printf("这样的三位数有%d个\n",s);}C语言上机考试题(第十八套)1.#include<conio.h>#include<stdio.h>#include<math.h>int fun(int a){int i,b=0;for(i=2;i<=a;i++)if(a%i==0)b++;if(b==1)return 1;elsereturn 0;}main(){int x;// clrscr();printf("\nPlease enter a number:");scanf("%d", &x);printf("%d\n", fun(x));}2.#include<stdio.h>main(){int w=1,i;printf("求W=1+21+22+23+…+210\n");for(i=21;i<=210;i++)w+=i;printf("求得:w= %d\n",w);}3.#include<stdio.h>main(){int i,j,s=0,p=0,k=1,t[21];for(j=1;j<=21;j++){s=0;for(i=1;i<=2*j-1;i++)if((2*j-1)%i==0)s++;if(s==2){p++;t[k]=j;k++;}}printf("在[1,21]范围内梅森尼数个数为:%d\n",p);printf("其中最大的一个是:%d\n",t[p]);}C语言上机考试题(第十九套)1.#include <conio.h>#include <stdio.h>long fun ( int k){int i;long s=1;for(i=1;i<=k;i++)s *= i;return s;}main(){int k = 10 ;// clrscr();printf("%d!=%ld\n" , k, fun ( k )) ;}2.#include<stdio.h>main(){int i,j,s=0,w=0,p=0;for(i=2;i<=98;i++){s=0;w=0;for(j=2;j<=i;j++)if(i%j==0)s++;for(j=2;j<=i+2;j++)if((i+2)%j==0)w++;if(s==1&&w==1)p++;}printf("亲密素数个数为:%d\n",p);}3.#include<stdio.h>int add(int n){int j,p=0;for(j=1;j<=n;j++)p+=2*j-1;return p;}main(){int n,i,s=0;printf("数列为:S=1+(1+3)+(1+3+5)+…+(1+3+5+…+(2n-1))\n");printf("请输入项数n= ");scanf("%d",&n);for(i=1;i<=n;i++)s=s+add(i);printf("数列n项和s= %d\n",s); }C语言上机考试题(第二十套)1.#include<stdio.h>int fun(int n){return n*(n+1);}main(){int n,i;float s=0;printf("please enter n=");scanf("%d",&n);for(i=1;i<=n;i++)s=s+1.0/fun(n);printf("s=%f\n",s);} 3.#include<stdio.h>#include<math.h>main(){float a,b,c,d,x1,x2;printf("请输入a的值:");scanf("%f",&a);printf("请输入b的值:");scanf("%f",&b);printf("请输入c的值:");scanf("%f",&c);d=b*b-4*a*c;if(d>0){printf("x1=%4.2f\n",(-b+sqrt(d) )/(2*a));printf("x2=%4.2f\n",(-b-sqrt(d)) /(2*a));}elseif(d==0)printf("x1=x2=%4.2f\n",(-b)/(2 *a));else{printf("x1=%4.2f+%4.2fi\n",(-b )/(2*a),sqrt(-d)/(2*a));printf("x2=%4.2f-%4.2fi\n",(-b) /(2*a),sqrt(-d)/(2*a));}}。
1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:#include <stdio.h>#include<string.h>int main(){int score[100];int m,i;int below[100];int fun(int score[],int m,int below[]);printf("input number\n");scanf("%d",&m);printf("input score\n");for(i=0;i<m;i++){scanf("%d",&score[i]);}fun(score,m,below);}int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++){aver+=score[i];}aver/=m;for(i=0;score[i]<aver;i++){if(score[i]<aver){below[k]=score[i];k++;}}for(i=0;i<k;i++){printf("%d",below[i]);}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:#include <stdio.h>#include<string.h>int main(){int b[100],*a;a=b;int c;int *n;n=&c;void fun(int *a,int *n);fun(a,n);printf("the total number is %d\n",c);}void fun(int *a,int *n){int i,j=0;for(i=2;i<100;i++){if((i%7==0||i%11==0)&&i%77!=0){a[j++]=i;}}*n=j;for(i=0;i<j;i++){printf("%d\n",a[i]);}}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
第1篇一、题目背景C语言作为一种经典的编程语言,广泛应用于系统软件、嵌入式系统、游戏开发等领域。
为了考察应聘者对C语言的掌握程度,以下列出了一份C上机面试题目,涵盖了C语言的基本语法、数据结构、算法和编程实践等方面。
二、题目内容1. 编写一个C程序,实现以下功能:(1)定义一个结构体`Person`,包含以下成员变量:- 姓名(字符数组,长度不超过50)- 年龄(整数)- 性别(字符,'M'代表男性,'F'代表女性)(2)编写一个函数`printPerson`,用于打印`Person`结构体变量的信息。
(3)在主函数中,创建一个`Person`数组,包含3个元素,并使用`printPerson`函数打印每个元素的信息。
2. 编写一个C程序,实现以下功能:(1)定义一个函数`reverseString`,用于将字符串反转。
(2)在主函数中,定义一个字符串`str`,调用`reverseString`函数,并打印反转后的字符串。
3. 编写一个C程序,实现以下功能:(1)定义一个函数`isPalindrome`,用于判断一个字符串是否为回文。
(2)在主函数中,定义一个字符串`str`,调用`isPalindrome`函数,并打印结果。
4. 编写一个C程序,实现以下功能:(1)定义一个函数`findMax`,用于在整数数组中查找最大值。
(2)在主函数中,定义一个整数数组`arr`,调用`findMax`函数,并打印最大值。
5. 编写一个C程序,实现以下功能:(1)定义一个函数`sum`,用于计算两个整数之间的所有整数之和。
(2)在主函数中,定义两个整数`a`和`b`,调用`sum`函数,并打印结果。
6. 编写一个C程序,实现以下功能:(1)定义一个函数`isPrime`,用于判断一个整数是否为素数。
(2)在主函数中,定义一个整数数组`arr`,调用`isPrime`函数,并打印每个元素是否为素数。
C语⾔上机经典题⽬!(1)《C 程序设计2》实验内容实验⼀:循环控制(⼀)1、编程计算 S=1*2+2*3+……+39*40 #include "stdio.h" main(){ int a,b,S=0;for(a=1;a<39;a++) {b=a+a+1;S=S+b;} printf("S=%d\n",S); getch();}2、编程计算 S=∑-71!i i =1!+2!+……+7!#include "stdio.h" main() {float n,s=0,t=1; for(n=1;n<=7;n++) {t*=n; s+=t; }printf("1+2!+3!...+20!=%.0f\n",s); getch(); }3、编写程序,计算如果每年按照年利率I (例如2%),投资S (例如5000),在第Y (例如10)年得到的总钱数M 。
公式:M=S*(1+I)Y#include "stdio.h" main() {float i,s,y,j,m,c=1;printf("please input I,S,Y:\n");scanf("%f,%f,%f",&i,&s,&y);m=s;for(j=1;j<=y;i++){c=1+i;m=m*c;}printf("m=%f\n",m);getch();4、编程输出九九乘法表。
#include "stdio.h"main(){ int i,j;for(i=1;i<10;i++){ for(j=1;j<=i;j++)printf("%d*%d=%-5d",i,j,(i*j));printf("\n");};getch();}实验⼆:循环控制(⼆)1、编写程序,输⼊⼀组字符(以#号结尾),对该组字符做⼀个统计,统计字母、数字和其它字符的个数,输出统计结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************found************/p=j;for (i=j+1;i<n;i++)if(a[i]<a[p])/************found************/p=i;t=a[p];a[p]=a[j];a[j]=t;请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!C 语言规定:每个语句和数据定义的最后必须有一个分号,因此,"int i,j,p,t "应改为"int i,j,p,t; "或相同作用的语句。C 语言区分大小写,所以,"If( a[p] >a[i] ) p=i ; "应改为"if ( a[p] >a[i] )p=i; "或相同作用的语句请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**found**/while((high>=2)&&(n<10))/**found**/yes=0;break;SN = ─ + ─ + ─ + …… + ──1 2 3 N例如,若q的值为:50.0,则函数值为:49.394948。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![double n;double s,t;]ors=s+(n+1.0)/n;/**found**/return t;─ = 1 +─ + ─×─ + ─×─×─ + ─×─×─×─ +……2 3 3 5 3 5 7 3 5 7 9例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![t=1;][return(s*2);]为:195.838745,在平均值以上的实数个数应为:5请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![{ int j,c=0;float xa=0.0;][if (x[j]>=xa)]S = ── * ── * ── * …… * ───────1*3 3*5 5*7 (2k-1)*(2k+1)例如,当k为10时,函数值应为:1.533852。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/**found**/float fun(int k)/**found**/return s;设f(x)=│└-2x^2+3x-4 (x>2)请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!double f(double x){double y;if (x<=2.0)y=2.0*x*x+3.0*x+4.0;else y=-2.0*x*x+3.0*x-4.0;return y;}注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************found************/int fun(int n,int xx[][M])printf("%d",xx[i][j]);─,─,─,─,─,─,……2 3 5 8 13 21和值通过函数值返回main函数。例如,若n的值为:5,则应输出:3.007051。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!/************found************/s=0;/************found************/c=a+b;注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![long k=1 ;][num/=10;] 实际操作结果:内容为[num\=10;]请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![k++;][if(m==k)]请改正 fun 函数中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构![float fun ( float r )][return 1/2.0*3.14159* r * r;]14.注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![void fun( int a[], int n )][if( a [i] >a[k] ) k = i;]t = 1 - ── - ── - …… - ──2*2 3*3 m*m例如,若 m = 5,则应输出 0.536389 。请改正 fun 函数中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!for(i = 2 ; i <= m ; i++)/**************found**************/y -= 1.0 /(i * i) ;注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! t = *x ; *x = y ;/**************found**************/return(t) ;n个a) 例如 a = 3, n = 6, 则以上表达式为:s = 333333 - 33333 - 3333 - 333 - 33 - 3其和值是:296298。a 和n是fun函数的形参,表达式的值作为函数值传回 main函数。请改正 fun 函数中的错误,使它能计算出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构![long s = 0, t = 0 ;][ t = t / 10 ;]y = ──── + ──── + ──── + …… + ──100*100 200*200 300*300 m*m例如,若m = 2000,则应输出: 0.000160。请改正程序中的语法错误,使它能计算出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构![double fun ( int m )][for( i = 100; i <= m; i += 100 )]则程序的运行结果为:19.250000。请改正函数fun中的错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构![double sum = 0.0;][sum /= c;]请改正函数fun 中的语法错误,使它能计算出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构![for (k=4;k<=n;k++)][a=b,b=c,c=d;];注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![int fun(int n, int xx[][M])][printf( "%4d", xx[i][j] );]注意:不要改动main函数,不得增行或删行,也不得更改程序的结构![long k=1;][num/=10 ;]注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!if(a==b && b==c)/**************found**************/return 3;else if(a==b||b==c||a==c)return 2;/**************found**************/else return 1;注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!c=c+32;c=c+5;100 200 300400 500 600700 800 900程序输出:100 400 700200 500 800300 600 900注意: 部分源程序存在考生文件夹下的文件prog1.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{int i,j;for (i=0,j=0;i<3;i++){for (j=0;j<3;j++)array[i][j]=array[j][i];}}请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun(int list[],int size){int i,j=0;for (i=1;i<size;i++){if (list[i]<list[j])j=i;}return j;请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun(char s[],int c){int i,k=0;for(i=0;s[i];i++)if(s[i]!=c) s[k++]=s[i];s[k]='\0';}请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun(int lim, int aa[MAX]){int k=0,i,j;for(i=lim;i>1;i--){for(j=2;j<i;j++)if(i%j==0)if(j==i){aa[k]=i;k++;}else break;}return k;}|1 9 7|a= |2 3 8|,则返回主程序后a数组中的值应为|4 5 6||3 9 7 ||6 9 8 ||12 15 18|注意:部分源程序存在考生文件夹下的文件prog34.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{int i,j;for(i=0;i<N;i++){for (j=0;j<=i;j++)a[i][j]=a[i][j]*n;}}30.编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 1 1 1S = 1 + ── + ─── + …… + ──────1+2 1+2+3 1+2+3+…+n例如:若n的值为11时,则函数值为:1.833333注意:部分源程序存在考生文件夹下的文件prog42.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。prog42.cfloat fun(int n) { int i;float s=1.0,h=1; for (i=2;i<=n;i++){ h=h+i;/*h为每一分式的除数,i为前后相邻除数之间的增量*/ s=s+1.0/h;} return(s); } {float s=1.0;int t=1,i=2;for (;i<=n;i++){t+=i;s+=1.0/t;}return (s);}P = ─────n!(m-n)!例如:m=12,n=8时,运行结果为495.000000。注意:部分源程序存在考生文件夹下的文件prog46.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{int i;float s=1,f=1,h=1,x;for (i=m;i>=1;i--) s=s*i;/*求出m的阶乘*/for (i=n;i>=1;i--) f=f*i;/*求出n的阶乘*/for(i=m-n;i>=1;i--) h=h*i;/*求出m-n的阶乘*/x=s/(f*h);return (x);F(n)=F(n-1)+F(n-2)例如:当t=1000时,函数值为:1597。注意:部分源程序存在考生文件夹下的文件prog52.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{int a=0,b=1,c;for (c=0;c<s;){c=a+b;a=b;b=c;}return c;}s = ─── + ─── + …… + ─────1×2 2×3 n×(n+1)例如,当n=10时,函数值为:0.909091。注意:部分源程序存在考生文件夹下的文件prog54.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{double s=0.0;int i;for (i=1;i<=n;i++){s+=1.0/(i*(i+1));}return s;}请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{int i,s=0;/*能整除n的自然数即称为因子*/for (i=2;i<n;i++)if (n%i==0) s=s+i;return (s);}s = 1 + x + ── + ── + …… + ──2! 3! n!例如,当n=10,x=0.3时,函数值为1.349859。注意:部分源程序存在考生文件夹下的文件prog60.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{double s=1.0,p=1.0;int i,j,t;for (i=1;i<=n;i++){t=1;for (j=1;j<=i;j++)t*=j;p*=x;s+=p/t;}return s;{int i,j,max;max=a[0][0];for(i=0;i<2;i++){for (j=0;j<M;j++)if (a[i][j]>max)max=a[i][j];}return max;─ = 1 + ─ + ── + ──── + ───── + …… + ────────2 3 3×5 3×5×7 3×5×7×9 3×5×…×(2n+1)程序运行后,如果输入精度0.0005,则程序输出为3.14…。注意:部分源程序存在考生文件夹下的文件prog73.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{double s;double n,t,pi;t=1;pi=0;n=1.0;s=1.0;while(s>=eps){pi+=s;t=n/(2*n+1);s*=t;n++;}pi=pi*2;return pi;请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。void fun ( int tt[M][N], int pp[N] ){int i,j,min;for(j=0;j<N;j++){min=tt[0][j];for(i=0;i<M;i++){if (tt[i][j]<min)min=tt[i][j];}pp[j]=min;}}注意:部分源程序存在考生文件夹下的文件prog127.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{int i,j=0;for (i=0;i<LEN;i++)if (i!=n){b[j]=a[i];j++;}b[j]='\0';a = | 2 3 8 | 则返回主程序后a数组中的值应为 | 0 0 8 || 4 5 6 | | 0 0 0 |注意:部分源程序存在考生文件夹下的文件prog131.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun ( int a[][N] ){int i,j;for(i=0;i<N;i++)for(j=0;j<=i;j++)a[i][j]=0;|1 9 7 4 5|a = |20 13 18 3 1||14 5 6 8 2||15 9 17 4 1||9 7 12 11 0 ||5 4 7 9 1 |则返回主程序后a数组中的值应为 |1 3 18 13 20||2 8 6 5 14||1 4 17 9 15|注意:部分源程序存在考生文件夹下的文件prog133.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun(int a[][N]){int i ,m,t;for(m=0;m<N;m++)for(i=0;i<N/2;i++){t=a[m][i];a[m][i]=a[m][N-1-i];a[m][N-1-i]=t;}}|1 9 7 4 5|a = |20 13 18 3 1||14 5 6 8 2||15 9 17 4 1||0 0 0 0 0||0 9 7 4 0|则返回主程序后a数组中的值应为 |0 13 18 3 0||0 5 6 8 0||0 0 0 0 0|注意:部分源程序存在考生文件夹下的文件prog134.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。fun ( int w[][N] ){int i ;for(i=0;i<N;i++){w[i][0]=0;w[i][N-1]=0;w[0][i]=0;w[N-1][i]=0;}请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。fun (int a[][M]){int i,j,max;max=a[0][0];for(i=0;i<2;i++){for(j=0;j<M;j++)if(a[i][j]>max)max=a[i][j];}return max;|1 9 7 4 5|a = |2 3 8 3 1||4 5 6 8 2||5 9 1 4 1|则返回主程序后s的值应为: 3.375。注意:部分源程序存在考生文件夹下的文件prog170.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{int i,j,k=0;double s=0.0;for(j=0;j<N;j++){s+=w[0][j];k++;}for(j=0;j<N;j++){s+=w[N-1][j];k++;}for(i=1;i<=N-2;i++){s+=w[i][0];k++;}for(i=1;i<=N-2;i++){s+=w[i][N-1];k++;}return s/=k;2 2 234 456 6 6 67 789 9 10 10 10。删除后数组中的内容应该是:2 3 4 5 6 7 8 9 10。注意:部分源程序存在考生文件夹下的文件prog182.c中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。int fun(int a[], int n){int i,j=1;for(i=1;i<n;i++)if(a[j-1]!=a[i])a[j++]=a[i];return j;S=(1 - ─) + (─ - ─) +…+ (── - ──)2 3 4 2n-1 2n例如,在主函数中从键盘给n输入8后,输出为:s=0.662872。注意:要求n的值大于1但不大于100。部分源程序在考生文件夹下的文件prog186.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。double fun(int n){int i;double sn=0.0;for(i=1;i<=n;i++)sn+=(1.0/(2*i-1)-1.0/(2*i));return sn;}部分源程序在考生文件夹下的文件prog188.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。double fun(int n){int i;double sum=0.0; /*将sum定义为双精度型变量,并给其赋初值为0.0*/if(n>0&&n<=100){for (i=1;i<=n;i++)if(i%5==0||i%9==0) /*判断i是否能被5或者9整除*/sum+=1.0/i; /*累加自然数的倒数之和,放入变量sum中*/}return sum; /*返回结果*/例如,在主函数中从键盘给n输入15,则输出为:s=2.718282。注意:要求n的值大于1但不大于100。部分源程序在考生文件夹下的文件prog189.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。{double t,sn=1.0;int i,j;for(i=1;i<n;i++){t=1.0;for(j=1;j<=i;j++)t*=j;sn+=1.0/t;}return sn;}。