C语言机考试题.docx
- 文档编号:7604753
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:24
- 大小:66.37KB
C语言机考试题.docx
《C语言机考试题.docx》由会员分享,可在线阅读,更多相关《C语言机考试题.docx(24页珍藏版)》请在冰豆网上搜索。
C语言机考试题
双素数:
源程序:
#include
#include
voidmain()
{
intprime(intx);
inta,c,p;
for(p=3;p<=100;p++)
{
a=prime(p);
c=prime(p+2);
if(a&&c)
printf("%d/%d\n",p,p+2);
}
}
intprime(intx)
{
inti,k;
k=(int)sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0)
return0;
}
return1;
}
运行结果:
水仙花数:
源程序:
#include
voidmain()
{
inta,b,c;
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%3d\n",100*a+10*b+c);
}
运行结果:
闰年:
源程序:
#include
voidmain()
{
intyear,month;
scanf("%d%d",&year,&month);
if(year%4==0&&year%100!
=0||year%400==0)
{
printf("%disaleapyear",year);
if(month==2)
printf("Febhave29days.\n");
}
else
{
printf("%disnotaleapyear",year);
if(month==2)
printf("Febhave28days.\n");
}
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
printf("thereare31days.\n");break;
case4:
case6:
case9:
case11:
printf("thereare30days.\n");break;
default:
printf("inputiserror");break;
}
switch(month)
{
case11:
case12:
case1:
printf("thisseasoniswinter");break;
case2:
case3:
case4:
printf("thisseasonisspring");break;
case5:
case6:
case7:
printf("thisseasonissummer");break;
case8:
case9:
case10:
printf("thisseasonisautumn");break;
default:
printf("inputiserror.");break;
}
}
运行结果:
Xopy
源程序:
#include
voidmain()
{
floatx,y;
charop;
scanf("%f%c%f",&x,&op,&y);
switch(op)
{
case'+':
printf("%f",x+y);break;
case'-':
printf("%f",x-y);break;
case'*':
printf("%f",x*y);break;
case'/':
printf("%f",x/y);break;
default:
printf("inputiserror");
}
}
运行结果:
整除7和13:
源程序:
#include
voidmain()
{
inti;
for(i=1;i<=100;i++)
if((i%7==0)&&(i%13==0))
printf("%d",i);
}_
运行结果:
100到150之间整除3每行五个数:
源程序:
#include
voidmain()
{
inti,sum;
for(i=100;i<=150;i++)
{
if(i%3==0)
{
sum++;
printf("%d",i);
}
if(sum%5==0)
printf("\n");
}
}_运行结果:
1*1+2*2+….+n*n<=1000的最大数n
源程序:
#include
voidmain()
{
ints,i;
s=0;
for(i=1;s<=1000;i++)
s=s+i*i;
printf("%d\n",i-2);
}_
运行结果:
能被55555整除的三位数
源程序:
#include
voidmain()
{
inti;
for(i=100;i<=999;i++)
if(55555%i==0)
printf("%d\n",i);
}_
运行结果:
1!
+2!
+…+n!
源程序:
#include
voidmain()
{
longs=0,t=1,i;
intn;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=t*i;
s=s+t;
}
printf("%ld\n",s);
}_
运行结果:
建立一个3*4的二维数组,并找出其中最大的
源程序:
#include
voidmain()
{
inta[3][4],i,j,t,max;
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
{
scanf("%d",&a[i][j]);
if(a[i][j]>a[0][0])
{t=a[0][0];
a[0][0]=a[i][j];
a[i][j]=t;
max=a[0][0];
}
}
printf("%d\n",max);
}_
运行结果:
1/1+1/2+…+1/20
源程序:
#include
voidmain()
{
inti;
floats=0,t=1;
for(i=1;i<=20;i++)
s=s+t/i;
printf("%f\n",s);
}_
运行结果:
绝对素数
源程序:
#include
#include
voidmain()
{
intprime(intx);
inta,b,c,m,n;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=1;c<=9;c++)
{
m=prime(100*a+10*b+c);
n=prime(100*c+10*b+c);
if(m&&n)
printf("%d%d%d",a,b,c);
}
}
intprime(intx)
{
inti,k;
k=sqrt(x);
for(i=2;i<=k;i++)
{
if(x%i==0)
return0;
}
return1;
}_
运行结果:
N!
源程序:
#include
voidmain()
{
floats=1,t;
intn;
scanf("%d",&n);
for(t=1;t<=n;t++)
s=s*t;
printf("%f\n",s);
}_
运行结果:
搬砖:
?
源程序:
#include
voidmain()
{
intnan,nv,hai;
for(nan=0;nan<=12;nan++)
for(nv=0;nv<=36;nv++)
for(hai=0;hai<=72;hai++)
if((nan+nv+hai==36)&&(nan*3+nv*1+(1.0/2)*hai*1==36))
printf("%d%d%d\n",nan,nv,hai);
}_
运行结果:
驮盐:
源程序:
#include
voidmain()
{
intm,n,k;
for(m=1;m<=33;m++)
for(n=1;n<=50;n++)
for(k=1;k<=200;k++)
if((m+n+k==100)&&(3*m+2*n+(1.0/2)*k*1==100))
printf("%d%d%d\n",m,n,k);
}_
运行结果:
冒泡法排序:
源程序:
#include
voidmain()
{
inta[10];
inti,j,t;
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(j=0;j<=9;j++)
for(i=0;i<=9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<=9;i++)
printf("%d",a[i]);
}_
运行结果:
输入十个数,求其中的奇数的和及平均数
源程序:
#include
voidmain()
{
inta[10];
inti,s=0;
floatm;
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
if(a[i]%2!
=0)
{
printf("%d%d\n",a[i],i);
s=s+a[i];
m=(float)(s)/10;
}
}
printf("%d%f\n",s,m);
}_
运行结果:
从键盘输入十个数,求其中偶数的和及平均数
源程序:
#include
voidmain()
{
inta[10];
inti,s=0;
floatm;
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
if(a[i]%2==0)
{
printf("%d%d\n",a[i],i);
s=s+a[i];
m=(float)(s)/10;
}
}
printf("%d%f\n",s,m);
}_
运行结果:
字符串的倒序:
源程序:
#include
voidmain()
{
charc[11];
inti;
scanf("%s",c);
for(i=0;i<=10;i++)
printf("%c",c[i]);
for(i=10;i>=0;i--)
printf("%c",c[i]);
}_
运行结果:
1/1,1/3,1/5….1/n的前20项之和
源程序:
#include
voidmain()
{
intt=1,s,n=20,m;
floatsum=0;
s=t+(n-1)*2;
for(m=1;m<=s;)
{
sum=sum+(float)(t)/m;
m=m+2;
}
printf("%d%f\n",s,sum);
}_
运行结果:
学生成绩等分:
源程序:
#include
voidmain()
{
chargrape;
scanf("%c",&grape);
switch(grape)
{
case'A':
printf("90~100");break;
case'B':
printf("80~90");break;
case'C':
printf("70~80");break;
case'D':
printf("0~70");break;
default:
printf("inputiserror");
}
}_
运行结果:
1+(1+2)+(1+2+3)+….+(1+2+3+….+n)
源程序:
#include
voidmain()
{
inti,n;
longtemp=0,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
temp+=i;
sum=sum+temp;
}
printf("%ld\n",sum);
}_
运行结果:
将一元钱分成一分.二分.五分的共有多少种方法:
源程序:
#include
voidmain()
{
intm,n,k,sum=0;
for(m=0;m<=100;m++)
for(n=0;n<=50;n++)
for(k=0;k<=20;k++)
if(m+2*n+5*k==100)
{
sum++;
printf("%d%d%d\n",m,n,k);
}
printf("%d",sum);
}_
运行结果:
1!
+(1!
+2!
)+(1!
+2!
+3!
)+…..+(1!
+2!
+3!
+4!
+…..+n!
)
源程序:
#include
voidmain()
{
inti,n;
floatt=1,temp=0,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=t*i;
temp=temp+t;
sum=sum+temp;
}
printf("%f",sum);
}_
运行结果:
输出1到200之间的所有素数
源程序:
#include
#include
voidmain()
{
inti,j,k,n=0;
for(i=1;i<=200;i++)
{
k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)
break;
if(j>k)
{
printf("%5d",i);
n++;
if(n%10==0)
printf("\n");
}
}
}_
运行结果:
输出1到10的阶乘:
源程序:
#include
voidmain()
{
inti;
longt=1;
for(i=1;i<=10;i++)
{
t=t*i;
printf("%ld\n",t);
}
}
运行结果:
求一个四位数,它的9倍是它的倒数:
源程序:
#include
voidmain()
{
inta,b,c,d;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
for(d=1;d<=9;d++)
if((1000*a+100*b+10*c+d)==9*(1000*d+100*c+10*b+a))
printf("%d",(1000*a+100*b+10*c+d));
}_
运行结果:
输入年份.月份,求该月天数:
源程序:
#include
voidmain()
{
intyear,month;
scanf("%d%d",&year,&month);
if(((year%4==0)&&(year%100!
=0))||(year%400==0))
{
printf("thisyearisleapyear");
if(month==2)
printf("Febhas29days");
}
else
{
printf("thisyearisnotleapyear");
if(month==2)
printf("Febhas28days");
}
switch(month)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12:
printf("thismonthhas31days");break;
case4:
case6:
case9:
case11:
printf("thismonthhas30days");break;
default:
printf("inputiserror");
}
}
运行结果:
用π/4约等1-1/3+1/5-1/7+….,直到某一项的绝对值小于10-6为止。
源程序:
#include
#include
voidmain()
{
ints;
floatn,t,pi;
t=1;pi=0;n=1.0;s=1;
while(fabs(t)>1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}_
运行结果:
兔子繁殖问题
源程序:
#include
voidmain()
{
longintf1,f2;
inti,n;
f1=1;f2=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("%12ld%12ld",f1,f2);
if(i%2==0)
printf("\n");
f1=f1+f2;
f2=f2+f1;
}
}_
运行结果:
输入一个数,判断它是否是素数
源程序:
#include
#include
voidmain()
{
intm,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)
printf("%disaprimenumber\n",m);
elseprintf("%disnotaprimenumber\n",m);
}_
运行结果:
输入两个数,求其最大公约数和最小公倍数
源程序:
#include
voidmain()
{
intp,r,n,m,temp;
scanf("%d%d",&n,&m);
if(n { temp=n; n=m; m=temp; } p=m*n; while(m! =0) { r=n%m; n=m; m=r; } printf("zuidagongyueshuwei: %d\n",n); printf("zuixiaogongbeishuwei: %d\n",p/n); }_ 运行结果: 输入一行字符,分别统计出其中英文字母、空格、数字、和其他的字符个数: 源程序: #include voidmain() { charc; intletters=0,space=0,digit=0,other=0; while((c=getchar())! ='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; elseif(c=='') space++; elseif(c>='0'&&c<='9') digit++; else other++; }printf("%d%d%d%d",letters,space,digit,other); }_ 运行结果: 统计字符串最长单词 #include intalph(charc); voidmain() {staticcharstring[]={"Iamhappy"}; intlen=0,length=0,i,flag=1,p,p1; for(i=0;i<(sizeof(string)/sizeof(char));i++) { if(alph(string[i])) if(flag==1) {p1=i;flag=0; len++;} elselen++; else{ flag=1; if(len>length) {length=len; p=p1;} len=0; } } printf("thelongwordis: "); for(i=p;i printf("%c",string[i]); printf("\n"); getch(); } intalph(charc) {if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) return1; return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试题