c语言机考题目例题.docx

上传人:b****0 文档编号:10063485 上传时间:2023-05-23 格式:DOCX 页数:13 大小:19.24KB
下载 相关 举报
c语言机考题目例题.docx_第1页
第1页 / 共13页
c语言机考题目例题.docx_第2页
第2页 / 共13页
c语言机考题目例题.docx_第3页
第3页 / 共13页
c语言机考题目例题.docx_第4页
第4页 / 共13页
c语言机考题目例题.docx_第5页
第5页 / 共13页
c语言机考题目例题.docx_第6页
第6页 / 共13页
c语言机考题目例题.docx_第7页
第7页 / 共13页
c语言机考题目例题.docx_第8页
第8页 / 共13页
c语言机考题目例题.docx_第9页
第9页 / 共13页
c语言机考题目例题.docx_第10页
第10页 / 共13页
c语言机考题目例题.docx_第11页
第11页 / 共13页
c语言机考题目例题.docx_第12页
第12页 / 共13页
c语言机考题目例题.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言机考题目例题.docx

《c语言机考题目例题.docx》由会员分享,可在线阅读,更多相关《c语言机考题目例题.docx(13页珍藏版)》请在冰点文库上搜索。

c语言机考题目例题.docx

c语言机考题目例题

机考题目

1.根据以下题目编写一个程序。

设本金为x,存入银行1年,年利率为y,1年到期后将本金和利息再存入银行1年,如此存n年后,得到的总金额为z,要求从键盘输入本金x、年利率y、存款年数n的值,输入时要有提示,然后计算总金额z的值,输出本金x、年利率y、存款年数n和总金额z的值,浮点型数据输出时包含4位小数。

#include

#include

intmain()

{doublex,y,z;

intn;

printf("请输入本金、1年利率、累计存款年数,用空格分开:

\n");

scanf("%lf%lf%d",&x,&y,&n);

z=x*pow(1+y,n);

printf("本金:

%.4f\n",x);

printf("1年利率:

%.4f\n",y);

printf("累计存款年数:

%d\n",n);

printf("总金额:

%.4f\n",z);

return0;

}

2.百分制成绩与等级成绩的转换规则为:

90~100分为A等;80~89分为B等;70~79分为C等;60~69分为D等;0~59分为E等。

编写程序,要求如下:

1)输入一百分制成绩(0~100的整数),输出用A、B、C、D、E表示的成绩等级

2)如果输入的分数不在0~100内,输出“输入错误”。

使用if语句:

#include

intmain()

{

inta;

printf("请输入你的成绩:

\n");

scanf("%d",&a);

if(a>=90&&a<=100)

printf("A\n");

else

{if(a>=80&&a<=89)

printf("B\n");

else

{if(a>=70&&a<=79)

printf("C\n");

else

{if(a>=60&&a<=69)

printf("D\n");

elseprintf("E\n");

}}}

return0;

}

使用switch语句的程序:

#include

intmain()

{

intgrade;

printf("请输入你的成绩:

\n");

scanf("%d",&grade);

switch(grade/10)

{case0:

case1:

case2:

case3:

case4:

case5:

printf("E\n");break;

case6:

printf("D\n");break;

case7:

printf("C\n");break;

case8:

printf("B\n");break;

case9:

printf("A\n");break;

default:

printf("A\n");break;

}

return0;

3.}用公式

的近似值,直到发现某一项的绝对值小于10-6为止,该项不累计加(书本p131,例5.7)

#include

#include

intmain()

{intsign=1;

doublepi=0,n=1,term=1;

while(fabs(term)>=1e-6)

{pi=pi+term;

n=n+2;

sign=-sign;

term=sign/n;

}

pi=pi*4;

printf("pi=%10.8f\n",pi);

return0;

}

4.编写程序输出所有的水仙花数,水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数,如:

407=4×4×4+0×0×0+7×7×7。

#include

intmain()

{inti,x,y,z;//i表示一个三位正整数,x、y、z表示其个、十、百位数

for(i=100;i<999;i++)//对所有的三位正整数判断是否是水仙花

{x=i/100;//求百位数

y=i/10%10;//求十位数

z=i%10;//求个位数

if(i==x*x*x+y*y*y+z*z*z)//判断水仙花数的条件

printf("%d\n",i);//输出水仙花数

}

return0;

}

5.求100~200间的全部素数(书本p137,例5.10)。

#include

#include

intmain()

{intn,i,k,m=0;

for(n=100;n<=200;n=n+1)

{k=sqrt(n);

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

if(n%i==0)break;

if(i>k)

{printf(“%d,",n);

m=m+1;

}

if(m%10==0)printf(“\n”);

}

return0;

}

6.编写程序,完成输入任意10个整数给一个数组,然后使数组中的值按逆序存放,最后输出。

#include

intmain()

{inti,a[10];

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

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

for(i=9;i>=0;i--)

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

printf("\n");

return0;

}

7.输入任意10个整数,用冒泡法将它们从小到大排序后输出(书本p147,例6.3)。

#include

intmain()

{inta[6];

inti,j,t;

printf(“输入6个整数:

\n");

for(i=0;i<10;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;}

printf(“从小到大排序后为:

\n");

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

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

printf("\n");

return0;

}

8.有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号(书本p153,例6.5,数据要求从键盘输入)。

#include

intmain()

{

inti,j,row=0,colum=0,max;

inta[3][4];

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

{for(j=0;j<4;j++)

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

}

max=a[0][0];

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

for(j=0;j<=3;j++)

if(a[i][j]>max)

{max=a[i][j];

row=i;

colum=j;

}

printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);

return0;

}

9.输入一个字符串,统计该字符串包含的字母、数字、空格和其它字符的个数并输出。

#include

intmain()

{charc;

inti=0,j=0,k=0,l=0;

while((c=getchar())!

='\n')

{if(c>='A'&&c<='Z')i++;

elseif(c>='a'&&c<='z')j++;

elseif(c=='')k++;

elsel++;

}

printf("大写字母数:

%d\n",i);

printf("小写字母数:

%d\n",j);

printf("空格数:

%d\n",k);

printf("其它字母数:

%d\n",l);

return0;

}

 

10.编写程序,完成以下要求:

1)首先定义2个字符数组c1、c2,长度自定;

2)输入一行字符赋给c1;

3)不使用测字符串长度函数strlen,测量c1中字符串的长度,并输出;

4)不使用字符串复制函数strcpy,将c1中字符串复制到c2中,并输出c2中的字符串。

#include

intmain()

{

charc1[5];

charc2[5];

inti=0;

printf("请输入一行字符:

\n");

gets(c1);

for(i=0;c1[i]!

='\0';i++);

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

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

c2[i]=c1[i];

puts(c2);

return0;

}

11.编写程序,完成以下要求:

(辅导书第7章习题3,p77)

1)定义一个函数,其功能为:

对于n,判断是否是素数,如果是,函数返回值为1,否则返回值为0(即用返回值1或0来表示是否是素数)。

2)编写主函数,先完成输入n,然后调用上面的函数,并根据获得的函数值判断n是否是素数,即如果得到的函数值为1,输出“是素数”,否则输出“不是素数”。

#include

intmain()

{

intprime(int);

intn;

printf("请输入一个数:

");

scanf("%d",&n);

if(prime(n))

printf("%d是素数\n",n);

else

printf("%d不是素数\n",n);

return0;

}

intprime(intn)

{

inta=1,i;

for(i=2;i

if(n%i==0)

a=0;

return(a);

}

12.编写程序,要求如下:

1)定义一个函数,求一个数组的最大值和最小值。

2)在主函数中完成从键盘输入一组整型数据(5个)赋给一个数组,调用上述函数求它们的最大值和最小值,获得结果后输出。

#include

intmain()

{

inta[5];

intmax(intx,inty);

intmin(intx,inty);

inti=0,m,n;

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

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

m=a[0];

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

if(max(m,a[i])>m)

m=max(m,a[i]);

printf("最大值:

%d\n",m);

n=a[0];

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

if(min(n,a[i])

n=min(n,a[i]);

printf("最小值:

%d\n",n);

return0;

}

 

intmax(intx,inty)

{

return(x>y?

x:

y);

}

 

intmin(intx,inty)

{

return(x

x:

y);

}

13.编写程序,要求如下:

1)定义一个函数,函数原型为:

voidf(int*s1,int*s2,intn),用来交换两个整型数组所有对应元素的值,其中n表示要交换的元素个数。

2)在主函数中完成输入2组数(每组5个)分别赋给2个整型数组,调用上述函数交换这两个整型数组所有对应元素的值,然后分别输出。

#include

voidmain()

{voidf(int*s1,int*s2,intn);

inta[5],b[5],i,*s1,*s2;

printf("请输入5个整数给a[5]:

\n");

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

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

printf("请输入5个整数给b[5]:

\n");

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

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

s1=a;

s2=b;

f(s1,s2,5);

printf("s1为:

\n");

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

printf("%d",*s1++);

printf("\n");

printf("s2为:

\n");

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

printf("%d",*s2++);

printf("\n");}

voidf(int*s1,int*s2,intn)

{inti,t;

for(i=0;i

{t=*s1;*s1=*s2;*s2=t;*s1++;*s2++;

}

}

14.编写程序,要求如下:

(辅导书第8章习题1,p99)

1)定义一个函数,函数原型为:

voidswap(int*p1,int*p2,),用来交换两个整型变量的值。

2)在主函数中完成输入3个整数分别赋给3个整型变量n1、n2、n3,通过调用上述swap函数交换这3个整型变量的值,使得n1<=n2<=n3,最后依次输出n1、n2、n3。

#include

intmain()

{

voidswap(int*p1,int*p2);

intn1,n2,n3;

int*p1,*p2,*p3;

scanf("%d,%d,%d",&n1,&n2,&n3);

p1=&n1;

p2=&n2;

p3=&n3;

if(n1>n2)swap(p1,p2);

if(n1>n3)swap(p1,p3);

if(n2>n3)swap(p2,p3);

printf("Now,theorderis:

%d,%d,%d\n",n1,n2,n3);

return0;

}

voidswap(int*p1,int*p2)

{

intp;

p=*p1;*p1=*p2;*p2=p;

}

 

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2