- 结构程序设计
- 编写已知半径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,求梯形的面积
文字:
- 定义小数a, b, h, s;
- 给梯形的上底a,下底b和高h赋值;
- 求梯形面积s,s=(a+b)*h/2;
- 输出梯形面积s;
流程图:
代码:
执行结果:
7.由键盘输入一个大写字母,将其转换成小写字母并输出
- 文字:定义字符类型n;
- 输入一个大写字母,将其存入n;
- 将n转为小写字母,n=n+32;
- 输出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
流程图:
代码:
执行结果:
- 分支结构程序设计
- 输入三角形的三条边,判断是否能构成三角形,若能则计算并输出三角形的面积,否则给出出错提示
文字:
- 定义a, b, c, d, s, area;
- 给a,b,c赋值;
- 用if语句判断(a + b > c) && (a + c > b) && (b + c > a)
- 判断为真执行第5步,为假则输出不能构成三角形;
- 求三角形的面积area, d = a + b + c; s = 0.5 * d; area = sqrt(s * (s - a) * (s - b) * (s - c));
- 输出三角形的面积: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 5.判断(x 6.判断(y 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;定义一个整数类型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;结束 流程图: 代码: 执行结果:



