c语言编程题经典100例——(16~20例)

1,将一个字符串转换为整数

在C语言中,可以使用库函数 atoi() 将字符串转换为整数。 atoi() 函数接受一个字符串作为参数,并返回其对应的整数。

以下是一个示例代码,演示如何使用 atoi() 函数将字符串转换为整数:

#include <stdio.h>

#include <stdlib.h>

int main() {

char str[] = \”12345\”;

int num = atoi(str);

printf(\”The integer is: %d\\n\”, num);

return 0;

}

在上面的代码中,我们首先定义了一个字符串 str,它包含数字字符串 \”12345\”。然后,我们使用 atoi() 函数将该字符串转换为整数,并将结果存储在变量 num 中。最后,我们使用 printf() 函数输出转换后的整数。

需要注意的是, atoi() 函数只能将合法的数字字符串转换为整数。如果字符串中包含非数字字符,则 atoi() 函数将返回0,并且不会报告任何错误。因此,在使用 atoi() 函数时,应该确保输入的字符串只包含数字字符。

2,将一个整数转换为字符串

在C语言中,可以使用sprintf()函数将整数转换为字符串。

以下是一个示例代码,演示如何使用sprintf()函数将整数转换为字符串:

#include <stdio.h>

int main() {

int num = 12345;

char str[20];

sprintf(str, \”%d\”, num);

printf(\”The string is: %s\\n\”, str);

return 0;

}

在上面的代码中,我们首先定义了一个整数 num,它的值为 12345。然后,我们定义了一个长度为 20 的字符数组 str,用于存储转换后的字符串。接着,我们使用 sprintf() 函数将整数 num 转换为字符串,并将结果存储在 str 数组中。最后,我们使用 printf() 函数输出转换后的字符串。

需要注意的是,在使用sprintf()函数时,需要指定转换格式符为 %d,表示将整数转换为十进制字符串。同时,需要确保目标字符数组的长度足够大,以容纳转换后的字符串。

3,将一个字符转换为整数

在C语言中,可以使用库函数 int to将字符转换为整数。 int to` 函数接受一个字符作为参数,并返回其对应的整数。

以下是一个示例代码,演示如何使用 int to` 函数将字符转换为整数:

#include <stdio.h>

int main() {

char ch = \’A\’;

int num = int(ch);

printf(\”The integer is: %d\\n\”, num);

return 0;

}

在上面的代码中,我们首先定义了一个字符 ch,它的值为字符 A。然后,我们使用 int to函数将字符ch转换为整数,并将结果存储在变量num中。最后,我们使用printf()` 函数输出转换后的整数。

需要注意的是,字符的值是一个整数,它代表了字符在 ASCII 码表中的位置。因此,将字符转换为整数实际上是将字符的 ASCII 码值赋值给整数变量。

4,将一个整数转换为字符

在C语言中,可以使用库函数 inttostr() 将整数转换为字符串。 inttostr() 函数接受一个整数作为参数,并返回一个指向该整数的字符串的指针。

以下是一个示例代码,演示如何使用 inttostr() 函数将整数转换为字符串:

#include <stdio.h>

#include <stdlib.h>

int main() {

int num = 12345;

char *str = inttostr(num);

printf(\”The string is: %s\\n\”, str);

free(str); // 释放内存

return 0;

}

在上面的代码中,我们首先定义了一个整数 num,它的值为 12345。然后,我们使用 inttostr() 函数将整数 num 转换为字符串,并将结果存储在指针变量 str 中。最后,我们使用 printf() 函数输出转换后的字符串。注意,在使用 inttostr() 函数时,需要使用 free() 函数释放内存,避免内存泄漏。

5,判断一个数字是否为偶数或奇数

在C语言中,可以使用取模运算符 % 来判断一个数字是偶数还是奇数。如果一个数字除以2的余数为0,则它是偶数;否则,它是奇数。

以下是一个示例代码,演示如何判断一个数字是偶数还是奇数:

#include <stdio.h>

int main() {

int num;

printf(\”Enter a number: \”);

scanf(\”%d\”, #);

if (num % 2 == 0) {

printf(\”%d is an even number.\\n\”, num);

} else {

printf(\”%d is an odd number.\\n\”, num);

}

return 0;

}

在上面的代码中,我们首先从用户输入中读取一个整数。然后,使用取模运算符 % 判断该整数是偶数还是奇数,并输出相应的信息。如果该整数除以2的余数为0,则它是偶数;否则,它是奇数。

C语言经典100例 — 21 – 25

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

程序分析:采取逆向思维的方法,从后往前推断

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队

为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说

他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),

如果能被整除,则表明此数不是素数,反之是素数。

题目:打印出如下图案(菱形)

程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。

这里修改了一下图形,比较容易看出规律

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

程序分析:请抓住分子与分母的变化规律

题目:求1+2!+3!+…+20!的和

程序分析:此程序只是把累加变成了累乘。

c语言编程题经典100例——(1~5例)

经典的C语言编程题目,这些题目可以帮助你提高C语言编程技能:

1,交换两个变量的值

我们可以使用临时变量来交换两个变量的值。以下是一个简单的示例:

#include <stdio.h>

int main() {

int a = 5;

int b = 10;

int temp;

printf(\”Before swapping: a = %d, b = %d\\n\”, a, b);

// 使用临时变量temp来交换a和b的值

temp = a;

a = b;

b = temp;

printf(\”After swapping: a = %d, b = %d\\n\”, a, b);

return 0;

}

在上面的示例中,我们首先定义了两个变量a和b,并分别将它们初始化为5和10。然后,我们使用一个临时变量temp来保存a的值,然后将b的值赋给a,最后将temp的值赋给b,从而实现了a和b的值的交换。

2,判断一个数是否为素数

我们可以使用循环和条件语句来判断一个数是否为素数。以下是一个简单的示例代码:

#include <stdio.h>

int main() {

int num, i, is_prime = 1;

printf(\”Enter a positive integer: \”);

scanf(\”%d\”, #);

// 判断num是否为素数

for (i = 2; i <= num / 2; ++i) {

if (num % i == 0) {

is_prime = 0;

break;

}

}

if (is_prime == 1)

printf(\”%d is a prime number.\\n\”, num);

else

printf(\”%d is not a prime number.\\n\”, num);

return 0;

}

在上面的代码中,我们首先使用scanf()函数从标准输入中读取一个正整数,并将其存储在变量num中。然后,我们使用一个循环来遍历从2到num/2的所有整数,判断它们是否能够整除num。如果找到了一个能够整除num的整数,说明num不是素数,我们将变量is_prime的值置为0,并使用break语句跳出循环。最后,我们根据变量is_prime的值输出判断结果。

需要注意的是,在判断素数时,我们只需要判断到num/2即可,因为如果一个数不是素数,那么它至少有一个因子小于等于它的一半。

3,反转一个字符串

可以使用指针和循环来反转一个字符串。以下是一个示例代码:

#include <stdio.h>

#include <string.h>

void reverse_string(char *str) {

int len = strlen(str);

char *start = str;

char *end = str + len – 1;

while (end > start) {

char temp = *start;

*start = *end;

*end = temp;

start++;

end–;

}

}

int main() {

char str[100];

printf(\”Enter a string: \”);

scanf(\”%s\”, str);

reverse_string(str);

printf(\”Reversed string: %s\\n\”, str);

return 0;

}

在上面的代码中,我们定义了一个reverse_string函数,用于反转一个字符串。该函数接受一个指向字符串的指针作为参数。首先,我们使用strlen函数获取字符串的长度,并定义两个指针start和end,分别指向字符串的起始和末尾位置。然后,我们使用一个循环来交换start和end所指向的字符,直到end指针小于start指针为止。最后,我们在主函数中调用reverse_string函数来反转字符串,并输出结果。需要注意的是,在实际开发中,我们应该考虑输入的字符串长度和缓冲区大小,以避免缓冲区溢出等问题。

4,计算一个数的阶乘

我们可以使用循环语句来计算一个数的阶乘。以下是一个简单的示例代码:

#include <stdio.h>

int main() {

int num, i, factorial = 1;

printf(\”Enter a positive integer: \”);

scanf(\”%d\”, #);

// 计算num的阶乘

for (i = 1; i <= num; ++i) {

factorial *= i;

}

printf(\”%d! = %d\\n\”, num, factorial);

return 0;

}

在上面的代码中,我们首先使用scanf函数从标准输入中读取一个正整数,并将其存储在变量num中。然后,我们使用一个循环语句来计算num的阶乘。循环从1开始,一直执行到num,每次循环将循环变量乘以一个累乘的结果,最终得到num的阶乘。最后,我们使用printf函数输出计算结果。需要注意的是,在实际开发中,我们应该考虑输入的数字范围和溢出等问题,以避免程序出现错误。

5,计算一个数的平方

我们可以使用乘法运算符来计算一个数的平方。以下是一个简单的示例代码:

#include <stdio.h>

int main() {

int num, square;

printf(\”Enter a number: \”);

scanf(\”%d\”, #);

// 计算num的平方

square = num * num;

printf(\”%d^2 = %d\\n\”, num, square);

return 0;

}

在上面的代码中,我们首先使用scanf函数从标准输入中读取一个整数,并将其存储在变量num中。然后,我们使用乘法运算符计算num的平方,并将结果存储在变量square中。最后,我们使用printf函数输出计算结果。需要注意的是,在实际开发中,我们应该考虑输入的数字范围和溢出等问题,以避免程序出现错误。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。