没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言编程:经典问题与解决方案解析
"C语言程序设计经典100例全" 在C语言编程中,学习如何设计有效的程序至关重要。本资源提供了两个示例,涵盖了数组、循环控制和条件判断等基本概念,这些都是C语言编程的基础。 第一个程序是关于计算无重复数字的三位数的数量。它通过三层循环遍历所有可能的组合,确保每个数字只使用一次。在这个例子中,变量i、j和k分别代表百位、十位和个位的数字。通过`if`语句检查i、j和k是否互不相同,确保生成的数字没有重复。这个程序展示了如何用循环结构实现排列组合,以及如何使用条件判断来排除不符合条件的组合。 第二个程序涉及根据利润计算奖金的发放。这是一个典型的数学问题,需要根据不同的利润区间应用不同的提成比例。程序首先定义了不同利润区间的奖金基数,然后根据输入的利润值(`long int i`)使用嵌套的`if...else`结构来确定适用的提成规则。这个例子展示了如何处理数值计算,特别是在处理长整型数据(如奖金总额)时的精度问题,以及如何根据用户输入动态调整计算逻辑。 这两个程序都是C语言初学者理解基础编程概念的良好实践,它们涵盖了循环控制(for循环)、条件判断(if...else)、变量定义和输入输出操作(如`scanf`和`printf`)。通过这些例子,程序员可以深入理解如何组织代码来解决实际问题,并逐步提高编程技能。在实践中,不断练习和调试这样的程序有助于巩固对C语言的理解,为更复杂的编程任务打下坚实基础。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/87224867/bgd.jpg)
. .
. .word..
2.程序源代码:
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
==============================================================
【程序 24】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。
1.程序分析:请抓住分子与分母的变化规律。
2.程序源代码:
main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
t=a;a=a+b;b=t;/*这局部是程序的关键,请读者猜猜 t 的作用*/
}
printf("sum is %9.6f\n",s);
}
==============================================================
【程序 25】
题目:求 1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加变成了累乘。
2.程序源代码:
![](https://csdnimg.cn/release/download_crawler_static/87224867/bge.jpg)
. .
. .word..
main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
{
t*=n;
s+=t;
}
printf("1+2!+3!...+20!=%e\n",s);
}
==============================================================
【程序 26】
题目:利用递归方法求 5!。
1.程序分析:递归公式:fn=fn_1*4!
2.程序源代码:
#include "stdio.h"
main()
{
int i;
int fact();
for(i=0;i<5;i++)
printf("\40:%d!=%d\n",i,fact(i));
}
int fact(j)
int j;
{
int sum;
if(j==0)
sum=1;
else
sum=j*fact(j-1);
return sum;
}
==============================================================
【程序 27】
题目:利用递归函数调用方式,将所输入的 5 个字符,以相反顺序打印出来。
1.程序分析:
2.程序源代码:
#include "stdio.h"
main()
{
int i=5;
![](https://csdnimg.cn/release/download_crawler_static/87224867/bgf.jpg)
. .
. .word..
void palin(int n);
printf("\40:");
palin(i);
printf("\n");
}
void palin(n)
int n;
{
char next;
if(n<=1)
{
next=getchar();
printf("\n\0:");
putchar(next);
}
else
{
next=getchar();
palin(n-1);
putchar(next);
}
}
==============================================================
【程序 28】
题目:有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他
说比第
3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后
问第一个人,他说是 10 岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知
道
第四人的岁数,依次类推,推到第一人〔10 岁〕,再往回推。
2.程序源代码:
age(n)
int n;
{
int c;
if(n==1) c=10;
else c=age(n-1)+2;
return(c);
}
main()
{ printf("%d",age(5));
![](https://csdnimg.cn/release/download_crawler_static/87224867/bg10.jpg)
. .
. .word..
}
==============================================================
【程序 29】
题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数 002 班赵鑫
提供)
2.程序源代码:
main( )
{
long a,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("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);
else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);
else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);
else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
else if (e!=0) printf(" there are 1,%ld\n",e);
}
=======
103f
=======================================================
【程序 30】
题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位一样,十位与千位
一样。
1.程序分析:同 29 例
2.程序源代码:
main( )
{
long ge,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("this number is a huiwen\n");
else
printf("this number is not a huiwen\n");
剩余78页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)