c语言总练习题

442
45
1
Description

 键盘输入一个双精度数据,乘以2以后输出

Input

 输入一个double型数据

Output

输出它的两倍数,结果保留8位小数

Sample Input

3.1415926536

Sample Output

6.28318531

 

#include<stdio.h>

 int main()

 {

 double a,s;

 scanf("%lf",&a);

 s=a*2;

 printf("%.8lf",s);

 return 0;

 }

 

 

2

Description

OJ上的题目,选择题总共有200题,判断题有50题,填空题有120题,假设试卷中的选择题每题0.6分,判断题每题0.2分,填空题每题0.3分,要出一份三种题型都有、总共有100题的卷子,但总分只能有m分(m不超过59,不少于30,由键盘输入),每种题目出多少?请你帮忙计算一下,总共有多少种出题方案,分别应该怎样出。

Input

输入整数m的值(后台给的m,能保证至少有一种方案)

Output

输出每一种方案的组合数据以及方案总数

Sample Input

55

Sample Output

84,2,14

 85,5,10

 86,8,6

87,11,2

4

 

#include<stdio.h>

 int main()

 {

int a,m,i,j,k,s;

scanf("%d",&m);

s=m*10;

a=0;

 

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

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

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

if(i+j+k==100&&i*6+j*2+k*3==s)

{

a=a+1;

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

}

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

 return 0;

 }

 

 

 

 

3
Description

键盘输入分子和分母的值(都是整数),求分数的值。结果保留2位小数

Input

输入两个整数

Output

输出分数的值

Sample Input

2,6

Sample Output

0.33

 

#include<stdio.h>

int main()

{

int a,b;

float m;

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

m=(float)a/b;

printf("%.2f\n",m);

return 0;

 

}

 

4

Description

输入一个华氏温度,要求输出摄氏温度。公式为 c=5/9 (F-32) 输出要求取位2小数。

Input

一个华氏温度,浮点数

Output

摄氏温度,浮点两位小数

Sample Input

-40

Sample Output

c=-40.00

 

#include<stdio.h>

int main()

{

float a,b;

scanf("%f",&a);

b=5./9*(a-32);

printf("c=%.2f",b);

return 0;

}

 

5
Description

键盘输入考试总人数和不及格人数,输出及格人数、总人数、及格率,其中,前两项数据输出结果最小宽度为n(n由键盘输入),最后一项及格率保留2位小数,最小宽度为6

Input

总人数,不及格人数,n

Output

及格人数、总人数、及格率,每个数据占一行
其中及格人数、总人数最小宽度都是n,及格率最小宽度为6(含%)

Sample Input

99 4 5

Sample Output

95

99

95.96%

 

 

#include<stdio.h>

int main()

{

int kz,bj,jg,n;

float jgl;

scanf("%d %d %d",&kz,&bj,&n);

    jg=kz-bj;

jgl=(float)jg/kz*100;

printf("%*d\n%*d\n%5.2f%%",n,jg,n,kz,jgl);

return 0;

}

 

/*

Input

按例子所示的格式输入一组数据

 

Output

输出符合格式要求的结果

 

 

6

Sample Input

A

B

C D

1 2

3,4

5 E

6F

a=7,b=8

Sample Output

c1=A,c2=B

c1=C,c2=D

a=1,b=2

3 4

a=5 c1=E

a=6,c1=F

a=7,b=8

 

 

 

#include <stdio.h>

 

int main()

 

{

 

       int a,b;

 

       char c1,c2;

 

       //在下面填写几行代码,利用getchar()函数输入字符给c1,c2, 此处不允许使用scanf()函数

   c1=getchar();

   getchar();

   c2=getchar();

   getchar();

       printf("c1=%c,c2=%c\n",c1,c2);      //输出c1,c2,请填上合适的格式控制--------下同

 

       //在下面填写代码,用scanf()输入两个数据给c1,c2,必须用到scanf(),可以另有getchar()

       scanf(" %c %c",&c1,&c2);

 

 

       printf("c1=%c,c2=%c\n",c1,c2);

 

       //在下面填写代码,用scanf()输入两个数据给a,b

 

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

 

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

 

       //在下面填写代码,用scanf()输入两个数据给a,b

 

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

 

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

 

       //在下面填写代码,用scanf()输入两个数据给a,c1

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

       

 

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

 

       //在下面填写代码,用scanf()输入两个数据给a,c1

 

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

   getchar();

 

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

 

       //在下面填写代码,用scanf()输入两个数据给a,b

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

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

 

       return 0;

 

}

 

 

 

7

Description

 期末时,学校评选奖学金,以所得积分为依据,积分规定:

(1)每人基础分75分

(2)C语言考试90及以上加10分

(3)高数考试90及以上加8分

(4)英语考试90及以上加7分

键盘输入三门课的成绩,求该生最终积分

Input

 输入三门课成绩

Output

 输出积分

Sample Input

95 92 98

Sample Output

100

 

#include<stdio.h>

int main()

{

 

int c,math,en,jf=75;

scanf("%d %d %d",&c,&math,&en);

if(c>=90)

jf+=10;

if(math>=90)

jf+=8;

if(en>=90)

jf+=7;

printf("%d",jf);

return 0;

}

 

8

Description

键盘输入两个整数,然后:

1)若任意一个数在10~100(包括10和100)之间,则输出它们,否则不输出;

2)不管什么情况,程序的最后都输出:End

要求:(1)用if的第一种格式编程,即不允许使用else    (2)不允许使用复合语句

 

Input
Output
Sample Input

5 12

Sample Output

5,12 End

 

 

#include<stdio.h>

int main()

{

int a,b;

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

if(a>=10&&a<=100||b>=10&&b<=100)

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

printf("End");

return 0;

 

}

9

Description

键盘输入两个整数,若前者大,则输出两个数的差以及它们的平方差,否则输出两个数的和以及它们的平方和

Input
Output

第一行输出两数的和或差

第二行输出两数的平方和或平方差

Sample Input

1,2

Sample Output

3 5

 

#include<stdio.h>

int main()

{

int a,b,ch,he,pch,phe;

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

ch=a-b;

pch=a*a-b*b;

he=a+b;

phe=a*a+b*b;

if(a>b)

printf("%d\n%d",ch,pch);

else

    printf("%d\n%d",he,phe);

return 0;

}

 

10

Description

键盘输入一个整数(0--51),如果在0-25之间,则输出对应的大写字母,(0对应A,1对应B,2对应C,......25对应Z);否则输出对应的小写字母(26--a, 27--b, 28--c...51--z)

 本题必须用if的第二种格式编程,否则不得分

 

Input

输入整数,整数范围是0--51

Output

输出题目要求的内容

Sample Input

1

Sample Output

B

 

#include<stdio.h>

int main()

{

int a;

scanf("%d",&a);

if(a>=0&&a<=25)

printf("%c",a+65);

else

printf("%c",a+71);

return 0;

}

 

 

 

11
Description

 

某产品的价格是800元/件,但若购买量大可给予一定的折扣:超过100(含100,下同)件时打9折,超过200件打85折,超过300件打82折,超过500件打8折,请用嵌套的if-else语句编程求解应收款。

不允许使用并列(平等)的if,即:所有的if必须都嵌套

 

Input

 

购买产品的件数

Output

应收款

Sample Input

400

Sample Output

262400

 

#include<stdio.h>

int main()

{

int a,s;

scanf("%d",&a);

if(a<100)

s=a*800;

else if(a<200)

s=a*80*9;

     else if(a<300)

    s=a*8*85;

      else if(a<500)

      s=a*8*82;

  else if(a>=500)

         s=a*80*8;

printf("%d",s);

return 0;

}

12

Description

某产品的价格是800元/件,但若购买量大可给予一定的折扣:够100件时打9折,够200件打85折,够300件打82折,够500件打81折,请用单独的if语句编程求解应收款。
所谓单独的if语句,是指所有的if都是平等的、不嵌套的(都是格式一)
本题程序代码中不允许出现else
特别注意:实数的存储和计算是不精确的
思考:本题还可用哪种格式编程?

Input

输入购买件数

Output

输出应收款

Sample Input

400

Sample Output

262400

 

 

#include<stdio.h>

int main()

{

int a,s;

scanf("%d",&a);

if(a<100){

s=a*800;

printf("%d",s);}

    if(a>=100&&a<200){

s=a*80*9;

printf("%d",s);}

if(a>=200&&a<300){

    s=a*8*85;

printf("%d",s);}

if(a>=300&&a<500){

      s=a*8*82;

  printf("%d",s);}

if(a>=500){

         s=a*81*8;

  printf("%d",s);}

return 0;

}

13

Description

键盘输入一个字符,若是大写字母,则变成小写后输出,若是小写字母,则变成大写后输出,都不是,则原样输出

Input

一个任意字符

Output

输出相应的字符

Sample Input

a

Sample Output

A

 

#include<stdio.h>

int main()

{

char n;

scanf("%c",&n);

if(n>=65&&n<=90)

n+=32;

else if(n>=97&&n<=122)

n-=32;

     else n=n;

 printf("%c",n);

return 0;

}

 

 

 

14

Description

某产品的价格是800元/件,但若购买量大可给予一定的折扣:够100件时打9折,够200件打85折,够300件打82折,够500件打8折,请用switch语句编程求解应收款。



必须用switch语句,用if语句 不得分


Input

输入一个购买量


Output

输出应付款


Sample Input

10
Sample Output

8000

 

 

#include <stdio.h>
int main()
{
     int x,y;
     scanf("%d",&x);
     switch(x/100)
     {
case 0:
y=x*800;break;
case 1:
y=x*90*8;break;
case 2:
y=x*85*8;break;
case 3: y=x*82*8;break;
case 4:
default : y=x*80*8;
break;
     }
     printf("%d\n",y);
     return 0;
}

15

Description

某售楼处规定:售楼员每卖出一套商品房,可提成1000元,每卖出一套别墅,可提成2000元。为了鼓励多卖别墅,公司做了如下补充规定:卖商品房的提成设上限,上限与一年中卖出的别墅数量有关:
0套: 上限是:10000
1~5套:上限是:20000
6-10套:上限是:30000
11套以上:上限是:50000
键盘输入售楼员一年卖出的商品房数量和别墅数量,计算应得的提成

Input

输入两个整数,分别代表商品房和别墅数量

Output

输出应得的提成

Sample Input

25,2

Sample Output

24000

 

#include<stdio.h>

int main()

{

int bs,sp,tc;

scanf("%d,%d",&sp,&bs);

 

if(bs==0)

if(sp<=10)

tc=sp*1000;

else tc=10000;

if(bs>=1&&bs<=5)

if(sp<=20)

tc=sp*1000+bs*2000;

else tc=20000+bs*2000;

if(bs>=6&&bs<=10)

if(sp<=30)

tc=sp*1000+bs*2000;

else tc=30000+bs*2000;

    if(bs>=11)

if(sp<=50)

tc=sp*1000+bs*2000;

else tc=50000+bs*2000;

 

 

printf("%d",tc);

return 0;

}

 

16

Description

老师规定:平时练习题限定最高得分率k%,超出的不计。k取决于课堂测验的得分率k1,两者对应关系如下。
测验得分率k1            练习题最高得分率k
0<=k1<10                   30
10<=k1<20                  40
20<=k1<40                  50
40<=k1<70                  70
70<=k1<=100               100
键盘输入一个整数(0--100)作为k1,求k
要求:必须用switch编程,用if不得分

Input

输入一个整数

Output

输出k的值

Sample Input

30

Sample Output

50

 

#include<stdio.h>

int main()

{

int k1,k;

scanf("%d",&k1);

switch(k1/10)

{

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值