没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言编程:经典算法与奖金计算示例
"C语言经典算法100例包含100个不同的算法示例,旨在帮助学习者理解和掌握C语言编程中的基础算法。文档中通过实际的代码展示如何解决各种计算问题,包括数字排列、百分比计算等。" 在文档中,我们可以看到两个程序实例,它们分别展示了不同的算法应用。 第一个程序是关于排列组合的问题。题目要求计算由1、2、3、4这四个数字组成的互不相同且无重复数字的三位数的数量。程序通过三层循环遍历所有可能的组合,并使用条件判断语句(if)确保生成的三位数的每一位数字都不相同。通过这种方式,程序能够生成所有符合条件的三位数并打印出来,从而求解问题。 第二个程序涉及到百分比计算,模拟了企业奖金发放的规则。根据输入的利润值,程序需要计算出相应的奖金总额。这个问题采用了条件分支结构(if-else语句)来确定不同利润区间的奖金提成比例。从10万到100万以上的利润区间,每超出一个范围,提成比例会有所变化。程序通过逐段累加不同比例的奖金来计算最终的奖金总额。 这两个程序都体现了C语言的基本语法和逻辑控制结构,如循环(for循环)、条件判断(if-else语句)以及变量的使用。同时,它们也展示了如何通过编程解决实际问题,包括数学问题和业务逻辑问题。通过这样的练习,学习者可以提升对C语言的理解,增强解决问题的能力,为后续更复杂的算法和程序设计打下坚实的基础。
资源详情
资源推荐
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
}
==============================================================
【程序 18】
题目:求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。例如 2+22+222+2222+22222(此时
共有 5 个数相加),几个数相加有键盘控制。
1.程序分析:关键是计算出每一项的值。
2.程序源代码:
main()
{
int a,n,count=1;
long int sn=0,tn=0;
printf("please input a and n\n");
scanf("%d,%d",&a,&n);
printf("a=%d,n=%d\n",a,n);
while(count<=n)
{
tn=tn+a;
sn=sn+tn;
a=a*10;
++count;
}
printf("a+aa+...=%ld\n",sn);
}
==============================================================
【程序 19】
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如 6=1+2+3.编程
找出 1000 以内的所有完数。
1. 程序分析:请参照程序<--上页程序 14.
2.程序源代码:
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++)
{
n=-1;
s=j;
for(i=1;i {
if((j%i)==0)
{ n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{
printf("%d is a wanshu",j);
for(i=0;i printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
==============================================================
【程序 20】
题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
第 10 次落地时,共经过多少米?第 10 次反弹多高?
1.程序分析:见下面注释
2.程序源代码:
main()
{
float sn=100.0,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{
sn=sn+2*hn;/*第 n 次落地时共经过的米数*/
hn=hn/2; /*第 n 次反跳高度*/
}
printf("the total of road is %f\n",sn);
printf("the tenth is %f meter\n",hn);
}
【程序 21】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
2.程序源代码:
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子数是第 2 天桃子数加 1 后的 2 倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
==============================================================
【程序 22】
题目:两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定
比赛名单。有人向队员打听比赛的名单。a 说他不和 x 比,c 说他不和 x,z 比,请编程序找出
三队赛手的名单。
1.程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
2.程序源代码:
main()
{
char i,j,k;/*i 是 a 的对手,j 是 b 的对手,k 是 c 的对手*/
for(i='x';i<='z';i++)
for(j='x';j<='z';j++)
{
if(i!=j)
for(k='x';k<='z';k++)
{ if(i!=k&&j!=k)
{ if(i!='x'&&k!='x'&&k!='z')
printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
}
}
}
}
==============================================================
【程序 23】
题目:打印出如下图案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重
剩余51页未读,继续阅读
zj311040668
- 粉丝: 0
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功