C/C++归纳1
2025/3/31
1.函数
用C编写一个函数,接受3个参数:一个字符
和两个整数。字符参数是待打印的字符,第
1个整数指定一行中打印字符的次数,第2个
整数指定打印指定字符的行数。编写一个调
用该函数的程序。
void printPattern(char c, int perLine, int lines) {
// 检查输入是否有效
if (perLine <= 0 || lines <= 0) {
printf("无效的输入参数,每行字符数和行数都必须大于0。\n");
return;
}
// 按要求打印字符
for (int i = 0; i < lines; i++) {
for (int j = 0; j < perLine; j++) {
printf("%c", c);
}
printf("\n"); // 换行
}
}
用C编写并测试一个函数,该函数以3个
double变量的地址作为参数,把最小值放入
第1个变量,中间值放入第2个变量,最大值
放入第3个变量。
#include <stdio.h>
// 函数声明:对三个double变量进行排序
void sortThreeDoubles(double *a, double *b, double *c) {
// 比较并交换a和b
if (*a > *b) {
double temp = *a;
*a = *b;
*b = temp;
}
// 比较并交换a和c
if (*a > *c) {
double temp = *a;
*a = *c;
*c = temp;
}
// 比较并交换b和c
if (*b > *c) {
double temp = *b;
*b = *c;
*c = temp;
}
}
int main() {
// 测试案例
double x = 5.5, y = 2.2, z = 8.8;
printf("原始值: x = %.2f, y = %.2f, z = %.2f\n", x, y, z);
sortThreeDoubles(&x, &y, &z);
printf("排序后: x = %.2f, y = %.2f, z = %.2f\n\n", x, y, z);
return 0;
}
用C编写并测试Fibonacci()函数,该函数用
循环代替递归计算斐波那契数。(每个数是前两个数的和,初始条件是前两个数为0和1。)斐波那契数定义:
第0个数:0
第1个数:1
第n个数:F(n) = F(n-1) + F(n-2)
#include <stdio.h>
// 函数声明:计算斐波那契数
long long Fibonacci(int n) {
if (n < 0) {
return -1; // 无效输入
}
if (n == 0) {
return 0; // 第0个斐波那契数
}
if (n == 1) {
return 1; // 第1个斐波那契数
}
// 使用循环计算斐波那契数
long long prev = 0; // 第0个数
long long current