软考
APP下载

c语言程序设计代码题

C语言是一种广泛应用的程序设计语言,因其具有可读性强、效率高、易学易用等特点,在各类编程语言中具有重要地位。代码编写是C语言程序设计的重要环节,下面通过多个角度分析几个C语言程序设计代码题。

1. 求Fibonacci数列中第n个数的值

Fibonacci数列是指从0和1开始,后面每一项数字都是前面两项数字的和。例如:0、1、1、2、3、5、8、13、21、34、……

这道题需要把前面两个数字相加,来算出后面的每一个数字。代码如下:

```c

#include

int main() {

int n, i; // n表示第几项,i表示循环计数器

scanf("%d",&n);

int a[50] = {0,1}; // 定义Fibonacci 数列前两项

for(i=2; i<=n; ++i) {

a[i] = a[i-1] + a[i-2]; // Fibonacci数列前两项之和累加

}

printf("%d", a[n]); // 输出第n项值

return 0;

}

```

2. 求解一元二次方程

一元二次方程是指只含有一个未知数的二次方程,一般形式为:ax²+bx+c=0。针对这道题,我们可以使用公式法求解,公式见下:

![](https://s3.amazonaws.com/titlepages.leanpub.com/cfromtheorytopractice/large?1540427342)

代码如下:

```c

#include

#include // 引入数学函数库

int main() {

float a, b, c, x1, x2, delta;

scanf("%f%f%f", &a, &b, &c); //输入三个系数

delta = b*b - 4*a*c; // 计算b²-4ac

if(delta > 0) { //判断条件

x1 = (-b+sqrt(delta))/(2*a); //求解x1

x2 = (-b-sqrt(delta))/(2*a); //求解x2

printf("x1=%f, x2=%f",x1, x2);

}

else if(delta == 0) { //当delta=0时,解唯一

x1 = -b/(2*a); //求解x

printf("x=%f",x1);

}

else { //delta<0时,方程无解

printf("无解!");

}

return 0;

}

```

3. 洗牌算法

洗牌是一组将多个元素打乱顺序的算法,其应用范围非常广泛,比如随机数生成,数据集的无序化等。代码如下:

```c

#include

#include // 引入stdlib库

#include // 引入time库

int main() {

int i, j, temp;

int a[54]; //定义一副扑克牌

srand((unsigned)time(NULL)); //这个给随机数种子赋值,一定要放在for循环外面

for(i=0;i<54;i++){ //初始化

a[i] = i+1;

}

for(i=53;i>0;i--){ // 从最后一张牌开始,依次和前面一张随机选定的牌进行交换

j = rand()%(i+1); // 生成0到i之间的随机数

temp = a[i];

a[i] = a[j];

a[j] = temp;

}

for(i=0; i<54; i++){ // 输出打乱的牌

printf("%d ", a[i]);

}

return 0;

}

```

通过以上三个C语言程序设计代码题的分析,可以看出从算法到函数的调用,C语言都非常灵活、高效,而且具有应用范围广、调试容易、入门门槛低等诸多优点,因此C语言建议各位编程爱好者必修。

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库