C语言上机考试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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");
else
if(a%400==0)
printf("是闰年\n");
else
printf("不是闰年\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 81
fun(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];
else
i++;
}
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;
int
array[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;
else
y=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;
else
f=-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 10
main()
{
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;
else
if(str[i]=='+')
flag=0;
else
num=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;
else
return 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));
}
else
if(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));
}
}。