考试网 >> IT认证 >> 等级 >> 等级动态 >> 经典的C程序案例(2)

经典的C程序案例(2)

发布时间:2006-07-25 11:58     点击:
分页:[1] 2  下一页

3.绘制圆 在屏幕上用“*”画一个空心的圆

*问题分析与算法设计

打印圆可利用图形的左右对称性。根据圆的方程:

R*R=X*X+Y*Y

可以算出圆上每一点行和列的对应关系。

*程序说明与注释

#include

#include

void main()

{

double y;

int x,m;

for(y=10;y>=-10;y--)

{

m=2.5*sqrt(100-y*y); /*计算行y对应的列坐标m,2.5是屏幕纵横比调节系数因为屏幕的

行距大于列距,不进行调节显示出来的将是椭圆*/

for(x=1;x<30-m;x++) printf(" "); /*图形左侧空白控制*/

printf("*"); /*圆的左侧*/

for(;x<30+m;x++) printf(" "); /*图形的空心部分控制*/

printf("*\n"); /*圆的右侧*/

}

}



4.歌星大奖赛 在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。

*问题分析与算法实现

这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。

*程序说明与注释

#include

void main()

{

int integer,i,max,min,sum;

max=-32768; /*先假设当前的最大值max为C语言整型数的最小值*/

min=32767; /*先假设当前的最小值min为C语言整型数的最大值*/

sum=0; /*将求累加和变量的初值置为0*/

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

{

printf("Input number %d=",i);

scanf("%d",&integer); /*输入评委的评分*/

sum+=integer; /*计算总分*/

if(integer>max)max=integer; /*通过比较筛选出其中的最高分*/

if(integer }

printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);

printf("Average score:%d\n",(sum-max-min)/8); /*输出结果*/

}

*运行结果

Input number1=90
分页:[1] 2  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有