C程序题库课案.docx

上传人:b****3 文档编号:3783505 上传时间:2023-05-06 格式:DOCX 页数:152 大小:63.37KB
下载 相关 举报
C程序题库课案.docx_第1页
第1页 / 共152页
C程序题库课案.docx_第2页
第2页 / 共152页
C程序题库课案.docx_第3页
第3页 / 共152页
C程序题库课案.docx_第4页
第4页 / 共152页
C程序题库课案.docx_第5页
第5页 / 共152页
C程序题库课案.docx_第6页
第6页 / 共152页
C程序题库课案.docx_第7页
第7页 / 共152页
C程序题库课案.docx_第8页
第8页 / 共152页
C程序题库课案.docx_第9页
第9页 / 共152页
C程序题库课案.docx_第10页
第10页 / 共152页
C程序题库课案.docx_第11页
第11页 / 共152页
C程序题库课案.docx_第12页
第12页 / 共152页
C程序题库课案.docx_第13页
第13页 / 共152页
C程序题库课案.docx_第14页
第14页 / 共152页
C程序题库课案.docx_第15页
第15页 / 共152页
C程序题库课案.docx_第16页
第16页 / 共152页
C程序题库课案.docx_第17页
第17页 / 共152页
C程序题库课案.docx_第18页
第18页 / 共152页
C程序题库课案.docx_第19页
第19页 / 共152页
C程序题库课案.docx_第20页
第20页 / 共152页
亲,该文档总共152页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C程序题库课案.docx

《C程序题库课案.docx》由会员分享,可在线阅读,更多相关《C程序题库课案.docx(152页珍藏版)》请在冰点文库上搜索。

C程序题库课案.docx

C程序题库课案

C程序题库

1、顺序结构

【程序1】

题目:

输入2个整数,求两数的平方和并输出。

  

程序代码:

 #include  

 void main() 

{ int a ,b,s;   

 printf("please input a,b:

\n"); 

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

s=a*a+b*b; 

    printf("the result  is %d\n",s);   

}   

【程序2】

题目:

有函数F(x)=(x+1)2和G(x)=2x+1,输入X值计算F(G(x))的值。

#include

#include

voidmain()

{

floatx,y;

printf("Pleaseinputx:

");

scanf("%f",&x);

y=2*x+1;

y=(float)pow(y+1,2);

printf("Theresultis:

%f\n",y);

}

【程序3】

题目:

任意输入三个字符,要求首先按逆序输出,然后同行原序输出。

程序源代码:

#include

voidmain()

{

chara,b,c;

printf("Pleaseinput3characters:

");

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

printf("%c%c%c",c,b,a);

printf("%c%c%c",a,b,c);

printf("\n");

}

【程序4】

题目:

求圆面积。

根据输入的半径,计算并输出圆的面积。

1.程序分析:

圆面积公式s=3.1415*r*r,注意r和s应该为float类型。

2.程序源代码:

#include

voidmain()

{

floatr;

floatPI=3.1415f;

floats;

printf("请输入圆的半径:

");

scanf("%f",&r);

s=PI*r*r;

//整数的格式占位符%d,浮点数的格式占位符%f

printf("半径为:

%f的圆的面积是:

%f",r,s);

}

【程序5】

题目:

求长方形面积。

根据输入的长和宽,计算长方形的面积

1.程序分析:

2.程序源代码:

#include

voidmain()

{

intchang,kuan;//声明两个变量,存放长和宽

ints;

printf("请输入长方形的长:

");

scanf("%d",&chang);//要求用户输入长方形的长

printf("请输入长方形的宽:

");

scanf("%d",&kuan);

s=chang*kuan;

printf("长=%d,宽=%d长方形的面积是:

%d",chang,kuan,s);

}

二、分支结构

【程序1】

题目:

输入两个数,把大数打印出来。

#include

voidmain()

{

inta,b,max;

printf("请输入两个整数:

");

scanf("%d%d",&a,&b);//输入两个数

if(a>b)//判断大小

{

max=a;

}

else

{

max=b;

}

printf("最大的数是%d",max);//打印大数

}

【程序2】

题目:

输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:

我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值

进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能

使x最小。

2.程序源代码:

#include"stdio.h"

main()

{

  intx,y,z,t;

  scanf("%d%d%d",&x,&y,&z);

  if(x>y)

    {t=x;x=y;y=t;}/*交换x,y的值*/

  if(x>z)

    {t=z;z=x;x=t;}/*交换x,z的值*/

  if(y>z)

    {t=y;y=z;z=t;}/*交换z,y的值*/

  printf("smalltobig:

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

}

【程序3】

题目:

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

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

   

1.程序分析:

利用对10n整除和取余运算,将一个5位十进制数拆分出万位、千位、十位、个位。

2.程序源代码:

#include"stdio.h"

#include"conio.h"

main()

{

  longge,shi,qian,wan,x;

  scanf("%ld",&x);

  wan=x/10000;//得出万位

  qian=x%10000/1000;//得出千位

  shi=x%100/10;//得出十位

  ge=x%10;//得出个位

  if(ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/

    printf("thisnumberisahuiwen\n");

  else

    printf("thisnumberisnotahuiwen\n");

}

【程序4】

题目:

利用条件运算符的嵌套来完成此题:

学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:

(a>b)?

a:

b这是条件运算符的基本例子。

2.程序源代码:

#include"stdio.h"

main()

{

  intscore;

  chargrade;

  printf("pleaseinputascore\n");

  scanf("%d",&score);

  grade=score>=90?

'A':

(score>=60?

'B':

'C');

  printf("%dbelongsto%c",score,grade);

  getch();

}

【程序5】

题目:

输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:

以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,

特殊情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码:

#include"stdio.h"

main()

{

  intday,month,year,sum,leap;

  printf("\npleaseinputyear,month,day\n");

  scanf("%d,%d,%d",&year,&month,&day);

  switch(month)/*先计算某月以前月份的总天数*/

  {

    case1:

sum=0;break;

    case2:

sum=31;break;

    case3:

sum=59;break;

    case4:

sum=90;break;

    case5:

sum=120;break;

    case6:

sum=151;break;

    case7:

sum=181;break;

    case8:

sum=212;break;

    case9:

sum=243;break;

    case10:

sum=273;break;

    case11:

sum=304;break;

    case12:

sum=334;break;

    default:

printf("dataerror");break;

  }

  sum=sum+day;/*再加上某天的天数*/

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

=0))/*判断是不是闰年*/

    leap=1;

  else

    leap=0;

  if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/

    sum++;

  printf("Itisthe%dthday.",sum);

}

【程序6】

题目:

企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高

   于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提

   成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高

于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,

高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金

总数?

1.程序分析:

请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

      

2.程序源代码:

#include"stdio.h"

main()

{

  longinti;

  intbonus1,bonus2,bonus4,bonus6,bonus10,bonus;

  scanf("%ld",&i);

  bonus1=100000*0.1;

  bonus2=bonus1+100000*0.75;

  bonus4=bonus2+200000*0.5;

  bonus6=bonus4+200000*0.3;

  bonus10=bonus6+400000*0.15;

  if(i<=100000)

    bonus=i*0.1;

  elseif(i<=200000)

      bonus=bonus1+(i-100000)*0.075;

        elseif(i<=400000)

          bonus=bonus2+(i-200000)*0.05;

            elseif(i<=600000)

              bonus=bonus4+(i-400000)*0.03;

                elseif(i<=1000000)

                  bonus=bonus6+(i-600000)*0.015;

                    else

                      bonus=bonus10+(i-1000000)*0.01;

  printf("bonus=%d",bonus);

}

【程序7】

题目:

给一个不多于5位的正整数,要求:

一、求它是几位数,二、逆序打印出各位数字。

1.程序分析:

利用对10n整除和取余运算分解出10进制数的每一位数。

2.程序源代码:

#include"stdio.h"

#include"conio.h"

main()

{

  longa,b,c,d,e,x;

  scanf("%ld",&x);

  a=x/10000;/*分解出万位*/

  b=x%10000/1000;/*分解出千位*/

  c=x%1000/100;/*分解出百位*/

  d=x%100/10;/*分解出十位*/

  e=x%10;/*分解出个位*/

  if(a!

=0)printf("thereare5,%ld%ld%ld%ld%ld\n",e,d,c,b,a);

  elseif(b!

=0)printf("thereare4,%ld%ld%ld%ld\n",e,d,c,b);

    elseif(c!

=0)printf("thereare3,%ld%ld%ld\n",e,d,c);

      elseif(d!

=0)printf("thereare2,%ld%ld\n",e,d);

        elseif(e!

=0)printf("thereare1,%ld\n",e);

}

【程序8】

题目:

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续

   判断第二个字母。

1.程序分析:

用switch语句比较好,如果第一个字母一样,则判断第二个字母。

2.程序源代码:

#include"stdio.h"

voidmain()

{

  charletter;

  printf("pleaseinputthefirstletterofsomeday\n");

  while((letter=getch())!

='Y')/*当所按字母为Y时才结束*/

  {

    switch(letter)

    {

      case'S':

printf("pleaseinputsecondletter\n");

      if((letter=getch())=='a')

        printf("Saturday\n");

        elseif((letter=getch())=='u')

          printf("Sunday\n");

          elseprintf("dataerror\n");

      break;

      case'F':

printf("Friday\n");break;

      case'M':

printf("Monday\n");break;

      case'T':

printf("pleaseinputsecondletter\n");

      if((letter=getch())=='u')

        printf("Tuesday\n");

        elseif((letter=getch())=='h')

          printf("Thursday\n");

        elseprintf("dataerror\n");

      break;

      case'W':

printf("wednesday\n");break;

      default:

printf("dataerror\n");

    }

  }

}

【程序9】

题目:

输入一个圆半径(r),当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

 

1.程序分析:

2.程序源代码:

#include  

#define PI 3.14  

void main() 

{ float  r ,s , l;   

 printf("please input r:

\n");  

scanf("%f”,&r); 

 if (r>=0) 

      {s=pi*r*r;       

l=2*i*r  

    printf("the area is %f\n",s);  

printf("the circumference is %f\n",l);

}

 else printf("input error!

\n");  

 } 

【程序10】

题目:

函数y=f(x)可表示为:

                    2x+1   (x<0) 

             y=    0     (x=0)     

                2x-1  (x>0)  

编程实现输入一个x值,输出y值。

1.程序分析:

2.程序源代码:

#include 

void main()

 { int x,y; 

scanf(“%d”,&x);

if(x<0) y=2*x+1; 

else if(x>0) y=2*x-1; 

else  y=0; 

printf(“%d”,y);

}

【程序11】

题目:

编写一个程序,从4个整数中找出最小的数,并显示此数。

 

#include  

void main( )

 {int a,b,c,d,t; 

 scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);

if (a>b) 

   {t=a; a=b; b=t;}  

if (a>c) 

   {t=a; a=c; c=t;}  

if (a>d) 

   {t=a; a=d; d=t;} 

 printf (“min = %d \n”,a); 

【程序12】

题目:

有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

1.程序分析:

2.程序源代码:

 

#include 

 void main() 

{int x,y; 

scanf("%d",&x); 

if (x<0) y=1; 

else if(x==0) y=5; 

else y=3; 

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

【程序13】

题目:

从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中

调用该函数)      

#include  

float max(float x,float y); 

void main() 

{  float a,b,m; 

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

m=max(a,b); 

printf("Max is %f\n",m); 

float max(float x,float y)

 { float temp; 

if (x

return(x); 

}

【程序14】

题目:

编一个程序计算一元二次方程的根。

1.程序分析:

2.程序源代码:

#include

#include

voidmain()

{

doublea,b,c,d,x1,x2;

printf("请输入一元二次方程的三个系数:

");

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

if(a==0)

if(b==0)

if(c!

=0)

printf("方程不成立!

\n");

else

printf("方程有无穷多解!

\n");

else

{

x1=--c/b;

printf("方程解为:

%f\n",x1);

}

else

{

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

if(d>0)

{

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

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

printf("方程有两个不相等的实根,分别为:

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

}

else

if(d==0)

{

x1=-b/(2*a);

printf("方程有两个相等的实根,为:

%f\n",x1);

}

else

printf("方程无实根!

\n");

}

}

【程序15】

题目:

编程输入一个整数,若为四位正整数则要求正确分离出其个、十、百、千位及中间的两位数并分别输出,如输入的是1234,则输出应该为4、3、2、1、23;否则给出一个出错提示。

1.程序分析:

2.程序源代码:

#include

voidmain()

{

intx,ge,shi,bai,qian,zhongjian;

printf("请输入一个四位正整数:

");

scanf("%d",&x);

if((x<1000)||(x>9999))

printf("所输入的数据不是四位正整数!

\n");

else

{

ge=x%10;

shi=x/10%10;

bai=x/100%10;

qian=x/1000;

zhongjian=bai*10+shi;

printf("个位:

%d,十位:

%d,百位:

%d,千位:

%d,中间两位:

%d\n",ge,shi,bai,qian,zhongjian);

}

}

【程序16】

题目:

某班综合考评,根据参加集体活动的次数加分,规则如下:

参加1次及以下:

加1分;

参加2至3次:

加2分;

参加4至7次:

参加几次加几分;

参加8至10次:

加8分;

参加10次以上:

加10分。

程序运行时输入某人参加活动的次数,则输出其应该加的分数;如果输入为负值,则给出相应提示。

1.程序分析:

2.程序源代码:

#include

voidmain()

{

intcs,jf;

printf("请输入参加活动次数:

");

scanf("%d",&cs);

if(cs<0)

printf("你所输入的活动次数有误!

\n");

else

{

if(cs<=1)

jf=1;

else

if(cs<=3)

jf=2;

else

if(cs<=7)

jf=cs;

else

if(cs<=10)

jf=8;

else

jf=10;

printf("此人参加活动%d次,按规定应该加%d分!

\n",cs,jf);

}

}

【程序17】

题目:

分奖金。

规定公司员工的级别为A、B、C和其他四类,每一类的奖金如下:

A250

B200

C100

其他50

编写程序,任意输入一个员工级别,输出他的奖金。

1.程序分析:

2.程序源代码:

#include

voidmain()

{

charch;//用来存放员工的级别

printf("请输入员工的级别:

");

scanf("%c",&ch);

//按照级别定员工的奖金

switch(ch)

{

case'A':

printf("员工的奖金是:

250元");

break;

case'B':

printf("员工的奖金是:

200元");

break;

case'C':

printf("员工的奖金是:

100元");

break;

default:

printf("员工的奖金是:

50元");

}

}

【程序18】

题目:

评级别。

学生的分数和等级标准如下:

90分到100分优秀

80分到90分良

70分

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

当前位置:首页 > 表格模板 > 合同协议

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

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