根据特定功能设计程序,要求由main.c, Fun1.c-Fun3.c共三个C语言文件和1个头文件组成, 其中fun1.c, fun2.c和fun3.c都使用了define.h中的声明,四个C语言文件的功能分别是: fun1.c:1+1=2 fun2.c:2+2=4 fun3.c:3+3=6 main.c:输入fun1,执行1;输入fun2,执行2;输入fun3,执行3。都执行完,英文显示”恭喜你,已完成测试”,否则,英文输出”测试未完成,请继续努力”。 请为该程序编写相应的makefle文件,用make命令生成最后的可执行文件main,并运行,确保功能正确
时间: 2024-03-20 09:43:38 浏览: 93
以下是makefile文件的内容:
```makefile
CC = gcc
CFLAGS = -Wall -Wextra -Werror
SRCS = main.c Fun1.c Fun2.c Fun3.c
OBJS = $(SRCS:.c=.o)
TARGET = main
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) $^ -o $@
%.o: %.c define.h
$(CC) $(CFLAGS) -c $< -o $@
.PHONY: clean
clean:
rm -f $(OBJS) $(TARGET)
```
请将以上内容复制到一个名为makefile的文件中,然后在终端中进入该文件所在目录,输入`make`命令编译生成可执行文件。如果没有错误,将生成名为main的可执行文件。输入`./main`运行程序,按照题目要求输入相应的数字,测试程序的功能是否正确。
相关问题
根据特定功能设计程序,要求由main.c, Fun1.c-Fun3.c选择其中任意两个,共三个C语言文件和1个头文件组成, 其中fun1.c, fun2.c和fun3.c都使用了define.h中的声明,四个C语言文件的功能分别是:fun1.c:输出9*9口诀 fun2.c:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? fun3.c:输入某年某月某日,判断这一天是这一-年的第几天? main.c:输入fun1,执行1;输入fun2,执行2;输入fun3,执行3。都执行完,英文显示”恭喜你,已完成测试”,否则,英文输出”测试未完成,请继续努力”。 请为该程序编写相应的makefle文件,用make命令生成最后的可执行文件main,并运行,确保功能正确。
以下是相应的Makefile文件:
```
CC = gcc
CFLAGS = -Wall -Werror
OBJ = main.o Fun1.o Fun2.o Fun3.o
HEADER = define.h
main: $(OBJ)
$(CC) -o main $(OBJ)
main.o: main.c $(HEADER)
$(CC) $(CFLAGS) -c main.c
Fun1.o: Fun1.c $(HEADER)
$(CC) $(CFLAGS) -c Fun1.c
Fun2.o: Fun2.c $(HEADER)
$(CC) $(CFLAGS) -c Fun2.c
Fun3.o: Fun3.c $(HEADER)
$(CC) $(CFLAGS) -c Fun3.c
clean:
rm -f main $(OBJ)
```
在命令行中运行`make`命令即可生成可执行文件`main`,然后运行`./main`即可测试程序。如果程序全部执行完毕,将会输出"恭喜你,已完成测试",否则将会输出"测试未完成,请继续努力"。
C语言程序设计-编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字;
在C语言中,你可以创建一个名为 `fun` 的函数来计算一系列由数字 `d` 组成的序列,比如 `d`, `dd`, `ddd`, ..., `dd...d`(n个连续的 `d`),其中 `d` 是1到9之间的任意数字。这里的关键是要处理不同长度的输入,并保证每个 `d` 都乘以相应的幂次。
下面是一个可能的实现,它使用了字符串来处理输入的 `d` 数字及其重复次数,然后转换为整数进行累加:
```c
#include <stdio.h>
#include <stdlib.h>
// 函数声明
int fun(int d, int n);
int main() {
int d, n;
printf("请输入数字d (1-9): ");
scanf("%d", &d);
printf("请输入重复次数n: ");
scanf("%d", &n);
int sum = fun(d, n);
printf("结果是: %d\n", sum);
return 0;
}
// 定义求和函数
int fun(int d, int n) {
char str[10]; // 存储重复次数的字符串
sprintf(str, "%d", n); // 将n转换为字符串
int sum = 0;
for (int i = 0; i < strlen(str); i++) {
int power = strlen(str) - i - 1; // 获取当前d的位数
sum += d * pow(10, power); // d*10^power
}
return sum;
}
```
在这个函数中,我们首先将 `n` 转换为字符串,然后遍历字符串,每次取一个字符代表 `d` 在当前位置的重复次数,再将其乘以相应位置的 `10` 的幂,累加到总和 `sum` 中。
阅读全文
相关推荐
















