C语言上机试题答案.docx

上传人:b****7 文档编号:9832995 上传时间:2023-02-06 格式:DOCX 页数:26 大小:18.39KB
下载 相关 举报
C语言上机试题答案.docx_第1页
第1页 / 共26页
C语言上机试题答案.docx_第2页
第2页 / 共26页
C语言上机试题答案.docx_第3页
第3页 / 共26页
C语言上机试题答案.docx_第4页
第4页 / 共26页
C语言上机试题答案.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C语言上机试题答案.docx

《C语言上机试题答案.docx》由会员分享,可在线阅读,更多相关《C语言上机试题答案.docx(26页珍藏版)》请在冰豆网上搜索。

C语言上机试题答案.docx

C语言上机试题答案

.+95+97+99的和。

#include""

main()

{

inti,sum=0;

for(i=1;i<100;i=i+2)

sum+=i;

printf("1+3+5+....+99=%d\n",sum);

}

 

.+10!

.

#include<>

intfun(intn)

{

longi,s=1;

for(i=1;i<=n;i++)

s*=i;

returns;

}

main()

{

inti,n=0;

for(i=1;i<=10;i++)

n+=fun(i);

printf("1!

+2!

+...+10!

=%d",n);

}

#include<>

main()

{

inti;

printf("请输入月份(1-12):

\n");

scanf("%d",&i);

switch(i)

{

case1:

printf("January\n");break;

case2:

printf("February\n");break;

case3:

printf("March\n");break;

case4:

printf("April\n");break;

case5:

printf("May\n");break;

case6:

printf("June\n");break;

case7:

printf("July\n");break;

case8:

printf("August\n");break;

case9:

printf("September\n");break;

case10:

printf("Octobery\n");break;

case11:

printf("November\n");break;

case12:

printf("December\n");break;

default:

printf("error!

\n");break;

}

}

#include<>

main()

{

inti,j,temp1,temp2,a[5]={542,-14,90,-18,83};

printf("排序之前的数组为:

");

for(i=0;i<5;i++)

printf("%d",a[i]);

for(i=0;i<5;i++)

{temp1=a[i];

for(j=i;j<5;j++)

{

if(temp1>a[j])

{

temp1=a[j];

a[j]=a[i];

a[i]=temp1;

}

}

}

printf("\n排序后的数组为:

");

for(i=0;i<5;i++)

printf("%d",a[i]);

}

#include<>

main()

{

inta[100],i,sum=0,n;

doubleavg;

printf("请输入您要输入的数据个数,按Enter结束\n");

scanf("%d",&n);

printf("请输入数据:

\n");

for(i=0;i

{

scanf("%d",&a[i]);

sum+=a[i];

}

avg=sum/n;

printf("该组数据的平均值是:

%6.2f\n",avg);

for(i=0;i

{

if(a[i]>avg)

printf("%d\t",a[i]);

}

}

#include<>

main()

{

inti,j;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

printf("%d*%d=%d",j,i,i*j);

printf("\n");

}

}

#include<>

#include<>

main()

{

chara[100],s[100];

inti,j,flag,sum=0;

printf("请输入主串\n");

gets(a);

printf("请输入子串\n");

gets(s);

for(i=0;i

{flag=0;

for(j=0;j

{

if(s[j]==a[i+j])

flag++;

}

if(flag==strlen(s))

sum++;

}

printf("%d",sum);

}

#include<>

main()

{

inti;

printf("请输入学生成绩(0-100):

\n");

scanf("%d",&i);

if(i>=100||i<=0)

printf("ERROR!

\n");

else

{

switch(i/10)

{

case9:

printf("A\n");break;

case8:

printf("B\n");break;

case7:

printf("C\n");break;

case6:

printf("D\n");break;

default:

printf("E\n");break;

}

}

}

#include<>

#include<>

intlen(chara[])

{

inti;

char*p=a;

for(i=0;i<10000;i++,*p++)

{if(*p=='\0')

break;

}

returni;

}

voidmain()

{

chara[1000];

gets(a);

printf("字符串长度为%d",len(a));

}

改编fun函数,使他能得出正确的结果.

#include<>

#include<>

doublefun(intx[])

{

inti,j=0;

doubles=0;

for(i=0;i<100;i++)

{

if(x[i]>0)

{

s+=x[i];

j++;

}

}

returns/j;

}

main()

{

intx[1000],inti=0;

printf("\nPleaseentersomedata(endwith0):

");

do

{scanf("%d",&x[i]);}while(x[i++]!

=0);

printf("%f\n",fun(x));

}

例如,若输入字符串"-1234",则函数把它转换成整数值-1234.

#include<>

#include<>

intchange(chara)

{

inti;

switch(a)

{

case'0':

i=0;break;

case'1':

i=1;break;

case'2':

i=2;break;

case'3':

i=3;break;

case'4':

i=4;break;

case'5':

i=5;break;

case'6':

i=6;break;

case'7':

i=7;break;

case'8':

i=8;break;

case'9':

i=9;break;

}

returni;

}

intfun(charx[])

{

inti,j,k,n,s,m=0;

if(x[0]=='-')

{i=1;j=-1;k=strlen(x);}

else

{i=0;j=1;k=strlen(x);}

for(i;i

{

s=change(x[i]);

for(n=0;n

s*=10;

m+=s;

}

returnm*j;

}

main()

{

chara[100];

gets(a);

printf("\n%d",fun(a));

}

}

#include<>

voidmain()

{

intb,m,l,i;

for(b=0;b<=33;b++)

for(m=0;m<=50;m++)

{

l=100-b-m;

If((b*3+m*2+l/2==100)&&(l%2==0))

printf("大马为%d匹,中马为=%d匹,小马为=%d匹,总驮担%d担\n",b,m,l,b*3+m*2+l/2);

}

}

#include<>

main()

{

inti,s;

for(i=1,s=0;i<=1000;i++)

if((i%7==0||i%11==0)&&!

(i%7==0&&i%11==0))

{

printf("%d",i);

s++;

}

printf("\n总数为%d",s);

}

.和值通过函数值返回main函数.

#include<>

doublefun(intn)

{

inti;

doubles=0,j=1,k=2,temp;

for(i=0;i

{

s+=j/k;

temp=j;

j=k;

k=k+temp;

}

returns;

}

main()

{

intn;

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresult:

%f\n",fun(n));

}

#include<>

#include<>

main()

{

inti,j;

chara[100];

gets(a);

for(i=0,j=0;i

{

if(a[i]=='')

j++;

}

printf("\n您输入的字符有%d个空格,%d个单词\n",j,j+1);

}

.+195+197+199的和

#include<>

main()

{

inti,s=0;

for(i=1;i<200;i+=2)

s+=i;

printf("1+3+5+7+...+195+197+199=%d",s);

}

#include<>

#include<>

#include<>

doublefun(intn)

{

inti,a[1000];

a[0]=0;a[1]=0;a[2]=1;

doublesum=1;

for(i=3;i

{

a[i]=a[i-3]+a[i-2]+a[i-1];

sum+=sqrt(a[i]);

}

returnsum;

}

main()

{

intn;

printf("InputN=");

scanf("%d",&n);

printf("%f\n",fun(n));

}

#include<>

main()

{

inti,j,a[10],pos,t;

printf("请输入10个整数:

");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<9;i++)

{

pos=i;

for(j=i+1;j<10;j++)

if(a[j]

pos=j;

if(pos!

=i)

{

t=a[i];

a[i]=a[pos];

a[pos]=t;

}

}

for(i=0;i<10;i++)

printf("%d",a[i]);

}

.+1/m!

例如,若m=6,则应输出

#include<>

#include<>

doublefun(intm)

{

longfloaty=;

inti,j,n;

for(j=1;j<=m;j++)

{

n=1;

for(i=1;i<=j;i++)

n*=i;

y+=n;

}

return(y);

}

main()

{

intn;

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresultis%lf\n",fun(n));

}

.+9!

+10!

的和.

#include<>

main()

{

inti,j,sum=0,temp;

for(i=1;i<=10;i++)

{

temp=1;

for(j=1;j<=i;j++)

temp*=j;

sum+=temp;

}

printf("%d",sum);

}

#include<>

main()

{

inti;

printf("请输入您的小孩的年龄:

\n");

scanf("%d",&i);

if(i>6||i<2)

printf("非适龄儿童,该院不予接受!

\n");

else

{

switch(i)

{

case2:

case3:

printf("您的小孩应编入小班!

\n");break;

case4:

printf("您的小孩应编入中班!

\n");break;

default:

printf("您的小孩应编入大班!

\n");break;

}

}

}

.例如,运行程序后,输入,则程序输出

#include<>

#include<>

floatfun(floatnum)

{

intflag=1;

floatsum=0,n=1;

while

(1)

{

if((1/n)

break;

sum+=flag/n;

n+=2;

flag*=-1;

}

returnsum*4;

}

voidmain()

{

floatn1,n2;

printf("Enterafloatnumber:

");

scanf("%f",&n1);

n2=fun(n1);

printf("%6.4f",n2);

}

#include<>

#include<>

main()

{

inti,j,temp,m,a[20];

scanf("%d",&m);

for(i=0;i

a[i]=rand();

for(i=0;i

{

for(j=0;j

if(a[j]>a[j+1])

{

temp=a[j+1];

a[j+1]=a[j];

a[j]=temp;

}

}

for(i=0;i

printf("%d",a[i]);

}

2~1000中所有的完数.

#include<>

main()

{

inti,j,k;

for(i=2;i<=1000;i++)

{

k=0;

for(j=1;j

{

if(i%j==0)

k+=j;

}

if(k==i)

printf("%d",i);

}

}

如输入15,11,2,则输出结果330.试编写函数fun,使它能得到正确结果.

#include<>

fun(intx,inty,intz)

{

inti;

for(i=1;;i++)

if(i%x==0&&i%y==0&&i%z==0)

break;

returni;

}

main()

{

intx1,x2,x3,j;

printf("Inputx1,x2,x3:

");

scanf("%d%d%d",&x1,&x2,&x3);

printf("x1=%d,x2=%d,x3=%d\n",x1,x2,x3);

j=fun(x1,x2,x3);

printf("Theminimalcommonmultipleis:

%d\n",j);

}

密数对定义为:

若正整数a的所有因子(不含a)之和为b,b的所有因子(不含b)之和为a,且a≠b,则称a与b为亲密数对.

#include<>

intfun(intn)

{

inti,sum;

sum=1;

for(i=2;i<=n/2;i++)

if(n%i==0)sum+=i;

returnsum;

}

voidmain()

{

inta,b,c;

for(a=2;a<=1000;a++)

{

b=fun(a);

c=fun(b);

if((c==a)&&(a!

=b))

printf("%5d和%5d是亲密数对.\n",a,b);

}

}

#include<>

main()

{

inti,s=0;

for(i=100;i<999;i++)

if((i%10!

=(i/10)%10)&&(i%10!

=i/100)&&((i/10)%10!

=i/100))

s++;

printf("%d\n",s);

}

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

#include<>

#include<>

#include<>

intfun(inta)

{

inti;

for(i=2;i

if(a%i==0)

return0;

if(i>=a/2)

return1;

}

main()

{

intx;

printf("\nPleaseenteranumber:

");

scanf("%d",&x);

printf("%d\n",fun(x));

}

.+210

#include<>

#include<>

main()

{

intsum=1,i;

for(i=1;i<=10;i++)

sum+=pow(2,i);

printf("%d",sum);

}

[1,21]范围内有多少个梅森尼数最大的梅森尼数.

#include<>

#include<>

main()

{

inti,k=0,m,n,a;

for(n=1;n<=21;n++)

{

m=pow(2,n-1);

for(i=2;i<=m/2;i++)

if(m%i==0)

break;

if(i>m/2&&n!

=1)

{

k++;

a=n;

}

}

printf("一共有%d个梅森尼数\n最大的梅尼森数是%d",k,a);

}

编写fun函数,使它能得出正确的结果

#include<>

#include<>

longfun(intk)

{

inti;

longs=1;

for(i=1;i<=k;i++)

s*=i;

returns;

}

main()

{

intk=10;

printf("%d!

=%ld\n",k,fun(k));

}

密素数:

如果x为素数,则x+2也为素数.

#include<>

intfun(intk)

{

inti,s=1;

for(i=2;i<=k/2;i++)

{

if(k%i==0)

s=0;

}

returns;

}

main()

{

inti;

for(i=2;i<=98;i++)

{

if((fun(i)==1)&&(fun(i+2)==1))

printf("%d和%d是亲密素数对.\n",i,i+2);

}

}

.+(1+3+5+...+(2n-1))

#include<>

main()

{

inti,j,s1,s2=0,n;

printf("请输入计算上限:

\n");

scanf("%d",&n);

for(i=1;i<=n;i++)

{s1=0;

for(j=1;j<=i;j++)

s1+=(2*j-1);

s2+=s1;

}

printf("形如S=1+(1+3)+(1+3+5)+...+(1+3+5+...+(2n-1))当n=%d时结果为%d\n",n,s2);

}

.+1/(n*(n+1)),例如,当n=10时,函数值为.

#include<>

fun(intn)

{

ints;

s=n*(n+1);

returns;

}

main()

{

intn,i;

floats=;

printf("Pleaseentern=");

scanf("%d",&n);

for(i=1;i<=n;i++)

s=s+fun(i);

printf("S=%f\n",s);

}

#include<>

#include<>

check(floata,floatb,floatc)

{

if((b*b-4*a*c)<1e-6)

return0;

elsereturn1;

}

main()

{

floata,b,c,s1,s2;

scanf("%f%f%f",&a,&b,&c);

if(a==0)printf("s=%f\n",-1*c/b);

elseif(check(a,b,c)==0)printf("S1=%f+%f-I,S2=%f-%f-I\n",(-1*b)/(2*a),sqrt(-1*(b*b-4*a*c))/(2*a),(-1*b)/(2*a),sqrt(-1*(b*b-4*a*c))/(2*a));

elseprintf("S1=%f,S2=%f",*b+sqrt(b*b-4*a*c))/(2*a),*b-sqrt(b*b-4*a*c))/(2*a));

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1