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
文章为作者独立观点不代本网立场,未经允许不得转载。