《C语言程序设计》实训报告

  • 结构程序设计
  1. 编写已知半径r为15求圆面积的程序

文字:1:定义变顺序量p=3.14159,,C,S。2:输入圆的半径r  3:圆面积的公式S=p*r*r

4:输出圆的面积S

流程图

代码:

 

执行结果:

 

 

2.输入一个三位数的正整数,输出其反序数(如123反序数为321)

文字:1定义整形i,num

2.i=0      3.给num赋值为正整数  

4.使用while语句(num>0),i=i*10+num%10;num/=10

  5.如果符合条件(num>0),则继续while语句循环

  6.如果不符合条件(num>0),则结束while语句循环

7.输出反序数i

流程图:

 

代码:

 

执行结果:

 

 3.把大写字母转换为小写字母,小写字母转换为大写字母

文字:1:定义字符类型

2.给m,赋值大写字母,给n赋值小写字母

3.使m=m+32

4.使n=n-32

5.输出m,n

流程图:

 

代码:

 

执行结果:

 

4.从键盘上输入三个变量的值,其中a=5,b=6,c=7将三个变量的值进行交换使得a=6,b=7,c=5

文字:1.定义整形a,b,c 2.给a,b,c分别赋值5,6,7  3.利用中间变量m进行换值m=a,a=b,b=c,c=m

4.输出a,b,c

流程图:

 

代码:

 

执行结果:

 

5.给定三角形的底a和高h,求三角形面积

文字:1:定义整型a,h,s;

2:给底a,高h赋值;

3:求面积s的值,s=(a*h)/2;

4:输出面积s;

流程图:

 

代码:

 

执行结果:

 

6.给定梯形的上底a下底b和高h,求梯形的面积

文字:

  1. 定义小数a, b, h, s;
  2. 给梯形的上底a,下底b和高h赋值;
  3. 求梯形面积s,s=(a+b)*h/2;
  4. 输出梯形面积s;

流程图:

 

代码:

执行结果:

 

 

7.由键盘输入一个大写字母,将其转换成小写字母并输出

  1. 文字:定义字符类型n;
  2. 输入一个大写字母,将其存入n;
  3. 将n转为小写字母,n=n+32;
  4. 输出n;

流程图:

 

代码:

 

执行结果:

 

8.若有变量定义语句floa856;输出a的值,要求保留小数点后两位,第三位进行四舍五入

文字:1.定义小数a

2.a的值为1.23856

3.先给a扩大100倍,然后再加0.5;a=100*a+0.5

4.再给a除于100;a=a/100

5.a的值保留小数点后两位

6.输出小数a

流程图:

 

代码:

 

执行结果:

 

  • 分支结构程序设计
  1. 输入三角形的三条边,判断是否能构成三角形,若能则计算并输出三角形的面积,否则给出出错提示

文字:

  1. 定义a, b, c, d, s, area;
  2. 给a,b,c赋值;
  3. 用if语句判断(a + b > c) && (a + c > b) && (b + c > a)
  4. 判断为真执行第5步,为假则输出不能构成三角形;
  5. 求三角形的面积area, d = a + b + c; s = 0.5 * d; area = sqrt(s * (s - a) * (s - b) * (s - c));
  6. 输出三角形的面积:area;

流程图:

 

代码:

 

执行结果:

 

2.输入三个实数要求从小到大的顺序输出

文字:

1.定义整型x,y,z,t;

2.     给x,y,z,t赋值;

3.     用if语句判断下x>y: 为真进行第4步,为假跳到第5步;

4.     t = x; x = y; y = t;

5.     用if语句判断下x>z: 为真进行第6步,为假跳到第7步;

6.     t = z; z = x; x = t;

7.     用if语句判断下有y>z: 为真进行第8步,为假跳到第9步;

8.     t = y; y = z; z = t;

9.     输出x,y,z;

流程图:

 

代码:

 

执行结果:

3.输入一个正整数输出其实偶数还是奇数

 

文字:1.定义一个整数num

2.请输入整数

3.给num赋值

4.如果(num%2==0)                                           

5.num是偶数

6.否则num是奇数

流程图:

 

代码:

 

执行结果:

 

4.将考试成绩百分制改为等级制,规则为:90~100分改为A:75~89分改为B;60~74改为C,60分以下改为D

文字:1.定义一个整数x

2.给x赋值

3.判断(x>=90&&x<=100)为真输出 该成绩为A为假执行下一步

4.判断(x>=75&&x<=89)为真输出 该成绩为B 为假执行下一步

5.判断(x>=60&&x<=74)为真输出 该成绩为C 为假执行下一步

6.判断(x<60)为真输出 该成绩为D 为假执行下一步

7.输出x

流程图:

 

代码:

 

执行结果:

 

5.随机生成一个3为正整数,判断该数是否为水仙花数。所谓水仙花数,是指该数各位数字的立方之和等于其本身。

文字:1.定义整形x,a,b,c,y

2.给x赋值

3.求百位a=x/100

4.求十位b=%10

5.求个位c=(x-100*a)/10

6.由a,b,c组成的三位数(a*a*a+b*b*b+c*c*c)

7.如果x==y

8.x是水仙花数

9.否则,x不是水仙花数

10.输出x

流程图:

 

代码:

 

执行结果:

 

6.输入3个整数,输出其中的最大值。要求只能用条件表达式

文字:1.定义整形a,b,c ,max

2给a,b,c赋值

3.判断(a>b&&a>c)为真输出,则最大值为a,为假则执行下一步

4.判断(b>a&&b>c) 为真输出,则最大值为b,为假则执行下一步

5.判断(c>a&&c>b) 为真输出,则最大值为c,为假则执行下一步

6.输出a,b,c

流程图:

 

代码:

执行结果运行结果:

 

 

7.由键盘输入字符,判断该字符的类别(分别是控制字符,数字,小写字母,大写字母,还是其他字母?)

文字:1定义字符c

2.从键盘输入一个字符

3.判断(c<32)为真,输出,则该字符是控制字符,为假则执行下一步

4.判断(c>=48&&c<=57)为真,输出,则该字符是数字字符,为假则执行下一步

5.判断(c>=65&&c<=90)为真,输出,则该字符是大写字母,为假则执行下一步

6.判断(c>=97&&c<=122)为真,输出,则该字符是小写字母,为假则执行下一步

7.否则,输出,这是其他字符

流程图:

 

代码:

 

执行结果:

 

8.由键盘输入某个同学的考试成绩将其转换成(成绩低于60分时输出Fail,成绩在60~69分时输出Pass,成绩在70~89分时输出Good,成绩在90~100分时输出Excellent)

文字1定义整形x,

2.赋值给x

3.判断(x>=90)为真输出,则Excllent,为假,则执行下一步判断

4.判断(x>=70)为真输出,则Good,为假,则执行下一步判断

5.判断(x>=60)为真输出,则Pass,为假,则输出Fail

流程图:

 

代码:

 

执行结果:

 

9.编写一个程序,根据键盘输入的年,月输出该年,该月的天数

文字:1.定义三个整数year,month,days

2.给year,month赋值

3.判断month值是否为1,3,5,7,8,10,12 为真 执行 days=31 为假下一步判断

4.判断month值是否为4,6,9,11 为真执行days=30 为假下一步判断

5.判断month=2时如果(year%400==0||year%4==0&&year%100!=0)为真 ,执行 days=29为假,执行 days=28

流程图:

 

代码:

 

执行结果:

 

10.由键盘上输入任意三个整数,按降序将其输出

文字:1定义整数x,y,z

2. 定义t为中间变量

3.给x,y,z赋值

4.判断(x<y)为真执行(t=x;x=y;y=t;)为假执行下一步判断

5.判断(x<z)为真执行(t=x;x=z;z=t;)为假执行下一步判断

6.判断(y<z)为真执行(t=y;y=z;z=t)为假执行下一步

7.输出x,y,z

流程图:

 

 

代码:

执行结果:

 

11.由键盘上输入一个字符,若该字符为小写字母,则将其转换为大写字母若该字符为大写字母,则将其转换为小写字母否则将其转换为ASCII码表中该字符的下一个字符

文字:1.定义两个字符变量c1,c2

2.键盘输入一个字符赋值给c1

3.判断(c1>=’a’&&c1<=’z’)为真执行 c2=c1-32 为假继续判断

4.判断(c1>=’A’&&c1<=’Z’)为真执行c2=c1+32 为假执行c2=c1+1

5.输出c2

流程图:

 

代码:

执行结果:

 

 

12.从键盘输入3个整数a,b,c要求按从小到大输出

文字:1.定义3个整数a,b,c,

2.定义一个中间变量t

3.给a,b,c赋值

4.判断(a>b)为真执行t=a;a=c;c=t; 为假下一步判断

5.判断(a>c)为真执行t=a;a=c;c=t; 为假下一步判断

6.判断(b>c) 为真执行t=b;b=c;c=t 为假直接输出结果

7.输出a,b,c

流程图:

 

代码:

 

执行结果:

 

  • 循环结构程序设计
  1. 由键盘上输入一行以回车结束的字符,分别统计出其中英文字母、空格、数字和其他字符的个数   

文字:1;定义一个整数类型a,b,c,d

2;定义字符类型ch

3;赋值a=b=c=d=0

4;输入一串字符

5;while判断是否为字符串

6;如果在数字类型中a++

7;否则判断是否在字符类型中,满足,b++

8;否则判断是否为空格,满足,c++

9;否则为其它,d++

10;输出a,b,c,d

11;结束

流程图:

 

代码:

 

执行结果:

 

2.从键盘上输入一批学生的成绩(以负数作为结束标志),计算平均分,并统计不及格成绩的个数

文字:1;定义一个整数类型num,n

2;定义一个小数类型score,total=0

3;num=0;n=0

4;while语句,输入分数0~100,n+1

5;定义位置

6;if判断score<0满足结束本段循环

7;否则判断score<60满足num++

8;total=total+score

9;输出平均   数

10;输出不及格人数

11;结束

流程图:

 

代码:

 

执行结果:

 

3.从键盘输入一个整数,计算并输出它是几位数。若输入的是负数时,要求重新输入。

文字:1;定义一个整数类型num,i=0

2;输入一个整数

3;while语句

4;定义位置

5;判断num<0,满足

6;输出请重新输入,结束本段循环

7;while语句

8;判断num>0是否满足,满足

9;num/=10;i++

10;否则结束本段循环

11;输出

12;结束

流程图:

 

代码:

 

执行结果:

 

4.输出100以内能被3整除且个位数为6的所有整数

文字:1;定义一个整数类型a,b

2;for(a=0;a<=10;a++)

3;b=a*10+6

4;if判断b除与10的余数是否为0

5;满足输出,跳转至a++

6;比较是否满足a<=10

7;满足继续循环,否则跳出本段循环

8;输出

9;结束

流程图:

 

代码:

 

执行结果:

 

5.输出四位整数中满足:该数的9倍恰好是其反序数的数(如1234的反序数是4321)

文字:1;定义一个整数类型a,b

2;for,a=1000,判断a是否小于等于9999,满足则继续以下循环

3;b=a%10*1000+a%100/10*100+a/100%10*10+a/1000

4;判断a乘以9是否为反序数

5;a++,跳转至2

6;诺不满足则结束本段循环

7;输出

8;结束

流程图:

 

代码:

 

执行结果:

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值