作业社区
探索学习新天地,共享知识资源!
橙子上的萤火 的学生作业:
head.h #ifndef __HEAD_H__ #define __HEAD_H__ #include extern int add(int, int); extern int sub(int, int); extern int mul(int, int); extern float div(int, int); #endif calc.c // 加函数 int add(int num1, int num2) { return num1 + num2; } // 减函数 int sub(int num1, int num2) { return num1 - num2; } // 乘函数 int mul(int num1, int num2) { return num1 * num2; } // 除函数 float div(int num1, int num2) { return ((float) num1) / num2; } main.c /* (1)自己设计一个calc.c head.h main.c实现多文件编程 (2)calc.c中自己设计add(),sub(),mul(),div()等四个函数 (3)main.c中包含head.h头文件,然后调用上面的函数,并输出结果 */ #include "head.h" int main(int argc, const char *argv[]) { int n1; int n2; printf("请输入两个要计算的数字: "); scanf("%d %d", &n1, &n2); printf("add = %d\n", add(n1, n2)); printf("sub = %d\n", sub(n1, n2)); printf("mul = %d\n", mul(n1, n2)); printf("div = %.2f\n", div(n1, n2)); return 0; }
+20
慕前端3254562 的学生作业:
#include int find_max(int x,int y) { int max = 0; max = x > y ? x : y; return max; } int find_min(int x,int y) { int min = 0; min = x < y ? x : y; return min; } int get_result(int x,int y,int (*pfun)(int,int)) { int result = 0; result = pfun(x,y); return result; } int main() { int result = 0; result = get_result(20,30,find_max); printf("max = %d\n",result); result = get_result(20,30,find_min); printf("min = %d\n",result); return 0; }
+9
weixin_慕九州3042664 的学生作业:
代码如下: #include #include #include #include #include void sig_func(int signo) { printf("process 2 handling %s\n", strsignal(signo)); } int main(void) { int pid1 = fork(); if(pid1 < 0) { perror("process 1 fork()"); exit(EXIT_FAILURE); } else if(pid1 == 0) { printf("process 1 running\n"); pause(); printf("process 1 continue to run\n"); exit(0); } else if(pid1 > 0) { int pid2 = fork(); if(pid2 < 0) { perror("process 2 fork()"); } else if(pid2 == 0) { signal(SIGUSR2, sig_func); printf("process 2 running\n"); pause(); printf("process 2 continue to run\n"); exit(0); } else if(pid2 > 0) { printf("main process running\n"); sleep(1); kill(pid1, SIGUSR1); kill(pid2, SIGUSR2); printf("main process continue to run\n"); exit(0); } } return 0; } 执行结果如下: main process running process 2 running process 1 running main process continue to run process 2 handling User defined signal 2 process 2 continue to run
+7
weixin_慕九州3042664 的学生作业:
代码如下: #include #include #include #include int main(void) { int pid1 = fork(); if(pid1 == -1) { perror("process 1 fork()"); exit(EXIT_FAILURE); } else if(pid1 == 0) { printf("process 1 running\n"); pause(); printf("process 1 continue to run\n"); exit(0); } else if(pid1 > 0) { int pid2 = fork(); if(pid2 == -1) { perror("process 2 fork()"); exit(EXIT_FAILURE); } else if(pid2 == 0) { printf("process 2 running\n"); pause(); printf("process 2 continue to run\n"); exit(0); } else if(pid2 > 0) { printf("main process running\n"); sleep(3); kill(pid1, SIGUSR1); kill(pid2, SIGUSR1); printf("main process continue to run\n"); exit(0); } } return 0; } 执行结果如下: main process running process 1 running process 2 running main process continue to run
+6
橙子上的萤火 的学生作业:
#include /* 写⼀个宏获取两个数中较大的值。 #define MAX_VALUE(x,y) xxx 例如: int a = 10; int b = 20; int max; */ #define MAX_VALUE(x, y)\ do{\ if(x > y){\ printf("max = %d\n", x);\ } else {\ printf("max = %d\n", y);\ }\ }while(0) int main() { int a = 10; int b = 20; MAX_VALUE(a, b); return 0; }
+22
慕前端3254562 的学生作业:
#include int *design_array(int *len) { static char a[100] = {0}; *len = strlen(a); return a; } void input_array(int len,char *p) { for(int i = 0;i < len;i++) { scanf("%c",p[i]); } return ; } void output_array(char *p,int len) { for(int i = 0;i < len;i++) { printf("%c ",p[i]); } printf("\n"); } int cout_space(char *p,int len) { int coutspace = 0; for(int i = 0;i < len;i++) { if(p[i] == ' ') coutspace++; } return coutspace; } int main() { char *p = NULL; int len = 0; int sum = 0; p = design_arary(&len); output_array(p,len); sum = cout_space(p,len); printf("用户输入空格的个数为: %d\n",sum); }
+9