c语言上机.docx

上传人:b****6 文档编号:7578641 上传时间:2023-01-25 格式:DOCX 页数:84 大小:39.67KB
下载 相关 举报
c语言上机.docx_第1页
第1页 / 共84页
c语言上机.docx_第2页
第2页 / 共84页
c语言上机.docx_第3页
第3页 / 共84页
c语言上机.docx_第4页
第4页 / 共84页
c语言上机.docx_第5页
第5页 / 共84页
点击查看更多>>
下载资源
资源描述

c语言上机.docx

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

c语言上机.docx

c语言上机

2400HelloWorld!

——C语言初学者百题大战之一

输出"HelloWorld!

"(不含引号),并换行。

#include

intmain()

{

printf("HelloWorld!

\n");

return0;

}

2401VeryGood!

——C语言初学者百题大战之二

第一行输出15个*,第二行一个空行,知道空行怎么输出吗?

第三行先输出2个空格,然后是VeryGood!

第四行又是一个空行第五行输出15个*,然后换行。

#include

intmain()

{

printf("***************\n");

printf("\n");

printf("VeryGood!

\n");

printf("\n");

printf("***************\n");

return0;

}

2402鹦鹉学舌1——C语言初学者百题大战之三

输入一个整数。

输出刚才输入的那个整数,并换行。

#include

intmain()

{

intn1;

scanf("%d",&n1);

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

return0;

}

2403a+b——C语言初学者百题大战之四

输入2个整数a和b,中间用一个空格隔开。

输出为三行,第1行输出a=a,其中红色的a代替a的值,第2行输出b=b,其中红色的b代替b的值,第3行输出s=s,其中红色的s代替a+b的和,然后再换行。

#include

intmain()

{

  inta,b,s;

  scanf("%d%d",&a,&b);

  s=a+b;

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

  printf("b=%d\n",b);

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

  return0;

}

2404a-b——C语言初学者百题大战之五

输入2个整数a和b,中间用逗号隔开。

输出a-b的值,然后换行。

#include

intmain()

{

inta,b,s;

scanf("%d,%d",&a,&b);

s=a-b;

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

return0;

}

2405Howmanyminutes?

——C语言初学者百题大战之六

Theinputconsistsoftwolines.Thefirstlinecontainstwointegerh1andm1,separatedfromthesymbol:

andh1:

m1isthetimeyoubegintodotheproblem.Thesecondlinecontainstwointegerh2andm2,separatedfromthesymbol:

andh2:

m2isthetimeyoufinishedtheproblem.Youshouldoutputhowmanyminutesyouhavespendedontheproblemononeline.

#include

#include

intmain()

{

inth1,m1,h2,m2,n;

scanf("%d:

%d",&h1,&m1);

scanf("%d:

%d",&h2,&m2);

n=(h2-h1)*60+m2-m1;

printf("%d",n);

return0;

}

2406求较大的数——C语言初学者百题大战之七

输入2个整数a和b,用一个或几个空格隔开。

输出其中较大的数,并换行

#include

intmain()

{

inta,b,x;

scanf("%d%d",&a,&b);

if(a>b)x=a;

elsex=b;

printf("%d",x);

return0;

}

2407再求较大数——C语言初学者百题大战之八

输入三个数,用空格隔开。

输出三个数中最大数

#include

intmain()

{

inta,b,c,x;

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

if(a>=b)

x=a;

else

x=b;

if(x>=c)

printf("%d",x);

else

printf("%d",c);

return0;

}

2408华氏摄氏温度转换——C语言初学者百题大战之九

输入一个华氏温度,根据公式C=(5/9)(F-32)计算对应的摄氏温度。

注意:

类型只能是float,且表达式必须为5.0/9*(f-32)输出输入的华氏温度和转换后的摄氏温度值。

输出为一行,具体详见示例fahr=100.000000,celsius=37.777779

#include

intmain()

{

floatfahr,celsius;

scanf("%f",&fahr);

celsius=5.0*(fahr-32)/9;

printf("fahr=%f,celsius=%f",fahr,celsius);

return0;

}

2409AA制——C语言初学者百题大战之十

输入分2行,第一行输入1个整数n(n>0),表示共有n个人平摊费用第二行输入3个数,分别是这次去玩的3个项目的开支(单位是元)输出一行,计算出每个人应该承担的费用,精确到分(保留2位小数)

#include

intmain()

{

intn;

scanf("%d",&n);

floata,b,c,x;

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

x=(a+b+c)/n;

printf("%.2f",x);

return0;

}

2413求三角形面积——C语言初学者百题大战之十四

输入三角形的三边长,求三角形面积。

为简单起见,设输入的三边长a,b,c能构成三角形。

输入为一行,输入三角形的三条边长。

输出为一行,计算出该三角形的面积,精确到小数点后2位

#include

#include

intmain()

{

floata,b,c,p,s;

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

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("%.2f",s);

return0;

}

2414求方程的解——C语言初学者百题大战之十五

求ax2+bx+c=0方程的实根。

解方程要考虑系数a等于零的情况,且解x1、x2必须是float型。

a等于零有两种情况(b==0,b!

=0),a不等于零有三种情况(delta>0、==0、<0),先计算得到x1、x2,再printf输出。

输入三个数a,b,c。

输出方程的实根,如果方程有实根,则输出根;如果方程有2个不等实根,则分2行输出,第一行输出较大根,第二行输出较小根。

其余情况(如无实根等)则输出No

#include

#include

intmain()

{

floata,b,c,d,x1,x2;

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

d=b*b-4*a*c;

if(a==0){

if(b==0){

printf("No\n");

}

else

printf("%f\n",-c/b);

}

else

{if(d>0){

x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

printf("%f\n%f\n",x1,x2);

}

elseif(d==0)

printf("%f\n",-b/(2*a));

else

printf("No");

}

return0;

}

2415整除——C语言初学者百题大战之十六

输入三个整数,分别为a,b,c(其中b,c均不为0)如果a既是b的整数倍又是c的整数倍,则输出Yes,否则输出No

#include

#include

intmain()

{

inta,b,c;

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

if(a%b==0&&a%c==0)

printf("Yes");

else

printf("No");

return0;

}

2416闰年——C语言初学者百题大战之十七

输入一个整数年份,要求判断是否是闰年。

符合以下两种情况都是闰年:

1.能被4整除但是不能被100整除2.能被400整除。

如果是闰年输出Yes,否则输出No

#include

intmain()

{

intyear;

scanf("%d",&year);

if((year%4==0&&year%100!

=0)||(year%400==0))

printf("Yes");

else

printf("No");

return0;

}

2419逆序输出——C语言初学者百题大战之二十

输入一个不多于5位的正整数。

输出分2行,第一行是一个整数,输出是几位数,第2行逆序输出

#include

#include

intmain()

{

    intinput,bit,output;

    scanf("%d",&input);

    bit=1+(int)log10(input);

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

    intx,y;

    for(y=input,x=bit-1;x>=0;x--)

    {

        output=y%10;

        printf("%d",output);

        y=y/10;

    }

    printf("\n");

    return0;

}

2420回文数——C语言初学者百题大战之二十一

一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

输入一个5位整数。

如果是回文数,则输出Yes,否则输出No

#include

intmain()

{

    intn,a,b,d,e;

    scanf("%d",&n);

    a=n%10;

    b=n/10%10;

    d=n/1000%10;

    e=n/10000%10;

    if(a==e&&b==d)

    printf("Yes\n");

    else

    printf("No\n");

    return0;

}

2425判断是否是素数

素数是除了1和它本身之外没有其它因子的自然数。

多组测试数据。

每组数据一行输入一个正整数。

对于每组测试数据判断输入的数是否是素数。

如果是则在一行里输出Yes,否则输出No

#include

intmain()

{

    intn,i;

      while(scanf("%d",&n)!

=EOF)

      {

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

        if(n%i==0)

        break;

        if(i>n/2&&n!

=1)

        printf("Yes\n");

        else

        printf("No\n");

      }

 return0;

}

2429绝配队伍

水仙花数是指一个 3位数,它的每个位上的数字的3次幂之和等于它本身。

(例如:

1^3+5^3+3^3=153)多组测试数据,每组输入一个3位整数。

每组输出一行,如果是水仙花数则输出"Yes“,否则输出"No"

#include

intmain()

{

    intn,i,a,b,c;

    while(scanf("%d",&n)!

=EOF)

    {

    a=n%10;

    b=((n-a)%100)/10;

    c=(n-a-b*10)/100;

    if(n==a*a*a+b*b*b+c*c*c)

    printf("Yes\n");

    else

    printf("No\n");

    }

    return0;

}

2432猴子吃桃

Firstday,heateahalfofthepeaches,thenateanotheroneoftheleftpeaches.Thenextday,heateahalfoftheleftpeaches,thenanotherone.Untilthen-thday,beforeheatehefoundonlyonepeach.PleasehelpSunWukongtocalculatehowmanypeacheshetookfromthekingdomofheaven.Theinputfilecontainsoneormoretestcases,eachlineisthedaysN(1

#include

intmain()

{

    inti,n,s;

    while(scanf("%d",&n)!

=EOF)

    {

    s=1;

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

    s=(s+1)*2;

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

    }

  return0;

}

2436百鸡问题

用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。

问各能买多少只?

输出所有的可能,要求一种可能一行,分别输出三个整数,代表公鸡,母鸡及小鸡的个数,中间用一个空格隔开输出的时候要求,先输出公鸡数最少的可能,公鸡数如果相同的几种情况,先输出母鸡数最少的情况

#include

intmain()

{

    intx,y,z;

    for(x=0;x<=12;x++)

        for(y=0;y<=25;y++)

        {

            z=100-x-y;

            if(5*x+3*y+z/3==100&&z%3==0)

            printf("%d%d%d\n",x,y,z);

        }

 return0;

}

2473杨辉三角

输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。

对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

#include

intmain()

{

intb[32],i,j,n;

while(scanf("%d",&n)!

=EOF)

{

b[0]=1;

printf("%d\n",b[0]);

for(i=1;i

for(j=i-1;j>0;j--)

{

b[j]=b[j]+b[j-1];

}

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

{

printf("%d",b[j]);

if(j!

=i)

printf("");

}

printf("\n");

}

printf("\n");

}

}

2482年龄问题

有n个人坐在一起,问第n个人多少岁?

他说比第n-1个人大m岁。

问第n-1个人岁数,他说比第n-2个人大m岁。

问第n-2个人,又说比第n-3人大m岁。

......最后问第一个人,他说是K岁。

请问第n个人多大?

(可递归函数实现)多组测试数据每组一行分别输入3个整数n,m和k。

输出第n个人的岁数

#include

intfn(intm,intn,intk);

intmain()

{

intm,n,k,s;

while(scanf("%d%d%d",&n,&m,&k)!

=EOF)

{

s=fn(m,n,k);

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

}

return0;

}

intfn(intm,intn,intk)

{

intresult;

if(n==1)

result=k;

else

result=fn(m,n-1,k)+m;

returnresult;

}

3500判断某整数是正整数、负整数还是零

输入一个整数,判断该数是正整数、负整数还是零。

如果是正整数,输出'+';如果是负整数,输出'-';如果是零,输出'0'。

#include

intmain()

{

intn;

scanf("%d",&n);

if(n>0)

printf("+");

if(n<0)

printf("-");

if(n==0)

printf("0");

return0;

}

3501判断某整数是否既是5又是7的整数倍

输入一个正整数,判断该数是否既是5又是7的整数倍。

若是,则输出Yes,否则输出No.

#include

intmain()

{

intn;

scanf("%d",&n);

if(n%5==0&&n%7==0)

printf("Yes");

else

printf("No");

return0;

}

3502输入数字1-7,打印出对应的英文(Monday-Sunday).

输入数字1-7,打印出对应的英文(Monday-Sunday).输出该数字对应的英文单词

#include

intmain()

{

intn;

scanf("%d",&n);

switch(n)

{

case1:

printf("Monday\n");break;

case2:

printf("Tuesday\n");break;

case3:

printf("Wednesday\n");break;

case4:

printf("Thursday\n");break;

case5:

printf("Friday\n");break;

case6:

printf("Saturday\n");break;

case7:

printf("Sunday\n");break;

default:

printf("Error\n");break;

}

return0;

}

3503百分制转换五级记分制

输入一个score(0<=score<=100)。

按照以下规则进行转换并输出转换后的成绩。

score:

90-100---->goodscore:

80-89---->nicerscore:

70-79---->mediumscore:

60-69---->passscore:

0-59---->fail

#include

intmain()

{

intx;

scanf("%d",&x);

switch(x/10)

{

case10:

printf("good\n");break;

case9:

printf("good\n");break;

case8:

printf("nicer\n");break;

case7:

printf("medium\n");break;

case6:

printf("pass\n");break;

case5:

printf("fail\n");break;

case4:

printf("fail\n");break;

case3:

printf("fail\n");break;

case2:

printf("fail\n");break;

case1:

printf("fail\n");break;

case0:

printf("fail\n");break;

default:

printf("Error\n");break;

}

return0;

}

3504对输入的任意整数x,计算出相应的y值

要求根据以下函数关系,对输入的任意整数x,计算出相应的y(float类型)值。

x的值y的值x<0y=00<=x<10y=x10<=x<20y=10x>=20y=30计算出相应的y值

#include

intmain()

{

intx;

floaty;

scanf("%d",&x);

if(x<0)

y=0;

elseif(x>=0&&x<10)

y=x;

elseif(x>=10&&x<20)

y=10;

else

y=30;

printf("y=%f",y);

return0;

}

3505分段式函数计算

输入一个实数x(float),计算并输出下列分段函数的值。

请调用数学函数计算。

y=x^5+2x+1(x≤0)y=e^x-lg(x)(x>0)根据计算公式计算y值并输出(保留3位小数)。

#include

#include

intmain()

{

floatx,y;

scanf("%f",&x);

if(x>0)

y=exp(x)-log10(x);

if(x<=0)

y=pow(x,5)+2*x+1;

printf("y=%.3f",y);

return0;

}

3506求1+2+……+N的和

输入一个正整数N(N≥1)。

输出1+2+……+N的和。

#include

intmain()

{

intN,i,sum;

scanf("%d",&N);

i=1;

sum=0;

while(i<=N)

{

sum=sum+i;

i++;

}

printf("sum=%d\n",sum);

retur

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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