您好,欢迎来到刀刀网。
搜索
您的当前位置:首页c语言考试题

c语言考试题

来源:刀刀网


1. 求最大公约数

2.四位数

3.发奖金

4.产值翻番计算

5.求园的周长和面积

6.确定一个数的位数

7.阶乘累加

8.计算e的近似值

9.百马百担

10整数的分解

11.歌手比赛

12.矩阵计算

13.求水仙花数

14.四位反序数

15.分数比较(彭纪良)

16.行李托运(彭纪良)

17. 年龄分组(卜胜贤)

18.求人数(甘文)

19.函数求解1/n的累乘(谌海军)

20. 合并整数

21.统计

1.求最大公约数

#include

void main()

{

int i,j,a[3];

scanf (\"%d%d%d\",&a[0],&a[1],&a[2]);j=a[0];

for(i=0;i<3;i++) {if(a[i]for(i=j;i>=1;i--)

{if(a[0]%i==0&&a[1]%i==0&&a[2]%i==0) {printf(\"%d\",i);break;}

}

}

2.四位数

#include

void main()

{

int a,b,i,k,j,l,n,s=0;

scanf(\"%d\

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

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

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

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

{

a=i*10+k;

b=l*10+j;

if((a>b)&&(a%2==0)&&(a%n==0)&&(b%2!=0))

s++;

}

printf(\"%d\

3.发奖金

#include

void main()

{

int a[10];

int i;

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

scanf(\"%d\

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

{

if(a[i]<100)

printf(\"10 \");

if(a[i]>=100&&a[i]<110)

printf(\"30 \");

if(a[i]>=110&&a[i]<120)

printf(\"50 \");

if(a[i]>=120&&a[i]<130)

printf(\"70 \");

if(a[i]>=130)

printf(\"80 \");

}

if(a[9]<100)

printf(\"10\");

if(a[9]>=100&&a[i]<110)

printf(\"30\");

if(a[9]>=110&&a[i]<120)

printf(\"50\");

if(a[9]>=120&&a[i]<130)

printf(\"70\");

if(a[9]>=130)

printf(\"80\");

}

4.产值翻番计算

#include

#define N 30

int main()

{

int y=0;

float c,m=100;

scanf(\"%f\

while(1)

{

m=m+m*c/100;

y++;

if(m>=200)

break;

}

printf(\"%d\

}

5.求园的周长和面积

#include

main()

{

float r,l,s,p=3.14;

scanf(\"%f\

l=2*p*r;

s=p*r*r;

printf(\"r=%.2f,l=%.2f,s=%.2f\

}

6.确定一个数的位数

#include

main()

{

int a,b;

scanf(\"%d\

if(a<10)

b=1;

else if(a<100&&a>=10)

b=2;

else if(a<1000&&a>=100)

b=3;

else if(a<10000&&a>=1000)

b=4;

printf(\"The number %d has %d digits\

}

7.阶乘累加

#include

void main()

{

int n,i,j,sum=0,t=1;

scanf(\"%d\

for(i=0;i{ for(j=n-i;j>0;j--)

{

t*=j;

}

sum+=t ;

}

printf(\"s=%d\

}

8.计算e的近似值

#include

main()

{

float i=1,d=1,f;

scanf(\"%f\

float e=1.0,t;

do

{

d=d*i;

t=1.0/d;

i++;

e+=t;

}while(t>=f);

printf(\"e=%f\

}

9.百马百担

#include

main()

{

int m,n,k,a,b,sum=0;

scanf(\"%d%d\

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

for(n=1;n<=a-m;n++)

{ k=a-m-n;

if((3*m+2*n+0.5*k)==b)

sum++;

}

printf(\"%d\

}

10整数的分解

#include

void main()

{

int i,s,k,j=0,n,a[100];

scanf(\"%d\

k=n;

i=2;

do

{

if(n%i==0)

{

a[j]=i;

n=n/i;

j++;

i=2;

}

else

i++;

}while(n>1);

s=j;

printf(\"%d=\

for(j=0;jprintf(\"%d*\

printf(\"%d\\n\j]);

}

11.歌手比赛

#include

int main()

{

float a[10];

int j;

float c=0,max,min;

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

scanf(\"%f\

max=a[0];

min=a[0];

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

{

if(maxmax=a[j];//得到最高分

if(min>a[j])

min=a[j];//最低分

}

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

c=c+a[j];//总分

c=(c-max-min)/(10-2);//去掉最高最低分

printf(\"%.1f\\n\

return 0;

}

12.矩阵计算

void main(void)

{

int i=0,j=0;

int sum=0;

float data[3][3];

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

{

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

scanf(\"%f\j]);

}

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

{

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

{

if(i==j)

sum+=data[i][j];

}

}

printf(\"%d\\n\

}

13.求水仙花数

#include

void main(void)

{

int m,n,x,i,sum,t;

m=2;

scanf(\"%d\

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

{

sum=0;

t=i;

do{

x=t%10;

sum=sum+x*x*x;

t=t/10;

} while(t!=0);

if(sum==i)

printf(\"%d\\n\

}

}

14.四位反序数

#include

int number(int n);

void main()

{

int n,i,t=0;

scanf(\"%d\

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

{

if(i*n==number(i))

{

t=i;

break;

}

}

printf(\"%d\

}

int number(int n)

{

int a1,a2,a3,a4;

int result;

a1=n%10;

a2=n/10%10;

a3=n/100%10;

a4=n/1000;

result=a1*1000+a2*100+a3*10+a4;

return result;

}

15.分数比较(彭纪良)

#include

int (int x,int y)

{

int r=x%y;

while(r)

{

x=y;

y=r;

r=x%y;

}

return y;

}

int main()

{

int a,b,c,d,t;

scanf(\"%d/%d %d/%d\

if(b>d)

t=(b,d);

else

t=(d,b);

if(a*d/t>c*b/t)

printf(\"%d/%d>%d/%d\

else if(a*d/t==c*b/t)

printf(\"%d/%d=%d/%d\

else

printf(\"%d/%d<%d/%d\

return 0;

}

16.行李托运(彭纪良)

#include

int main()

{

double x,y;

scanf(\"%lf\

if(x<50)

y=x*0.15;

else

y=(x-50)*0.25+50*0.15;

printf(\"%.0lf %.2lf\

return 0;

}

17. 年龄分组(卜胜贤)

#include

int main()

{

int i,age[20],d[11]={0};

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

scanf(\"%d\

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

{

switch(age[i]/10)

{

case 0: d[0]++; break;

case 1: d[1]++; break;

case 2: d[2]++; break;

case 3: d[3]++; break;

case 4: d[4]++; break;

case 5: d[5]++; break;

case 6: d[6]++; break;

case 7: d[7]++; break;

case 8: d[8]++; break;

case 9: d[9]++; break;

default: d[10]++; break;

}

}

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

printf(\"%d \

printf(\"%d\

return 0;

}

18.求人数(甘文)

#include

#include

#include

int aver(int a[],double sum)

{

int i=0,n=0;

for(;i<50;i++)

if(a[i]>sum)

n++;

return n;

}

int main()

{

int a[55],i;

double sum=0;

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

{

scanf(\"%d\

sum+=a[i];

}

sum/=50;

printf(\"%d\

return 0;

}

19.函数求解1/n的累乘(谌海军)

#include

#include

#include

int main()

{

int n,i;

double t=1;

scanf(\"%d\

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

t/=i;

printf(\"%.12lf\

return 0;

}

20. 合并整数

#include

#include

#include

void fun(int a, int b, long *c)

{

int a1, a2, b1, b2; /*分别存放a数十位,a数个位,b数十位,b数个位的数字*/

a1 = a/10;

a2 = a%10;

b1 = b/10;

b2 = b%10;

*c = a1 * 1000 + b2 * 100 + a2 * 10 + b1; /*数字按要求组合,存入c*/

}

main()

{

int a, b;

long c=0;

system(\"cls\");

printf(\"Input a,b:\");

scanf(\"%d%d\

fun(a,b,&c);

printf(\"The result is: %ld\\n\

return 0;

}

21.统计(左利芳)

#include

int f(int n)

{

int t=1,i;

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

t*=10;

return t;

}

int main()

{

int n,m,i,count=0;

scanf(\"%d%d\

for(i=f(n-1)+6;iif(i%m==0)

count++;

printf(\"%d\

return 0;

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务