(提高篇)第一讲 项目 简单的函数运用(一)
来源:互联网 发布:mac cad格式问题 编辑:程序博客网 时间:2024/06/03 00:36
任务和代码:
【项目1-函数版星号图】
这一组的练习意在通过调用函数输出星号图,体会与理解函数的工作过程,并为其后编制自定义函数实现特定功能。
(1)补充完下面的程序,使程序输出星号下面的星号图:
#include <stdio.h> void printstars(int m) //定义能输出一行m个星号的函数 { int j; for (j=1; j<=m; ++j) printf("*"); } int main( ) { int n=6; //n代表要输出的行数 int i; for(i=1; i<=n; ++i) { //请在下面写上调用printstars函数的语句,使程序输出右图 ______________________; printf("\n"); } return 0; }
补全后的代码:
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/23*版本号:V1.0**问题描述:函数的简单运用。*程序输出:。*/#include <stdio.h>void printstars(int m) //定义能输出一行m个星号的函数{ int j; for (j=1; j<=m; ++j) printf("*");}int main( ){ int n=6; //n代表要输出的行数 int i; for(i=1; i<=n; ++i) { //请在下面写上调用printstars函数的语句,使程序输出右图 printstars(i); printf("\n"); } return 0;}
输出结果:
任务和代码:
(2)根据main函数中对printchs函数的调用,以及printchs的功能要求,编写printchs函数,使下面的程序能输出星号图:
//调用函数printchs输出星号图 #include <stdio.h> //在下面写printchs函数的定义,功能是输出一行若干个指定字符 int main( ) { int n=6; //n代表要输出的行数 int i; //通过在下面的循环里调用printchs函数,输出右面的图 for(i=1; i<=n; ++i) { printchs(n-i,' '); printchs(2*i-1,'*') ; printf("\n"); } return 0; }
补全后的代码:
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/23*版本号:V1.0**问题描述:函数的简单运用。*程序输出:。*///调用函数printchs输出星号图#include <stdio.h>//在下面写printchs函数的定义,功能是输出一行若干个指定字符void printchs(int n, char c){ int j; for (j=1; j<=n; ++j) printf("%c", c);}int main( ){ int n=6; //n代表要输出的行数 int i; //通过在下面的循环里调用printchs函数,输出右面的图 for(i=1; i<=n; ++i) { printchs(n-i,' '); //printchs(2*i-1,'*') ;//图一的实现方式 printchs(2*i-1, 'A'+i-1); printf("\n"); } return 0;}
输出结果:
图一:
图二:
任务和代码:
【项目2-求解分段函数的值】
#include<stdio.h> double f(double); //这一句是对自定义函数f的声明 int main( ) { double x; printf("请输入x的值:"); scanf("%lf", &x); printf("解得:f(%.2f)=%.2f\n", x, f(x)); //调用函数f求解 return 0; } //将自定义函数f的定义写在下面
提示:函数求解的结果要在main()中使用,要用return <表达式>得到返回值。
通过这个项目,体会函数利用返回值的方法。
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/23*版本号:V1.0**问题描述:函数的简单运用。*程序输出:。*/#include<stdio.h>#define a1 0.3#define a2 0.8 //将x1t和x2定义为符号常是,方便,易维护double f(double); //这一句是对自定义函数f的声明int main( ){ double x; printf("请输入x的值:"); scanf("%lf", &x); printf("解得:f(%.2f)=%.2f\n", x, f(x)); //调用函数f求解 return 0;}//将自定义函数f的定义写在下面double f(double a){ double b=0.0; if (a<a1){ b=0.00; } else if (a>=a2){ b=1.00; } else { b=(a-a1)/(a2-a1); } return b;}
输出结果:
任务和代码:
【项目3-求最大公约数】
(1)输入两个数,并求出其最大公约数。请写出求最大公约数的函数
#include <stdio.h> //int gcd(int x,int y) //定义用于求两数的最大公约数的函数,函数只管求值,不管输出。输出由main完成 {...} int main() { int a,b,g; scanf("%d %d", &a, &b); g=gcd(a,b); printf("最大公约数是:%d\n", g); return 0; }
(2)在上面的程序基础上,增加函数gcds函数的声明和定义,实现求四数的最大公约数的功能。
int gcds(int x,int y,int z,int w) //调用gcd()求四数的最大公约数 { }
提示:①既然gcd函数已经实现了求两数最大公约数的功能,gcds可以调用gcd分别求出两对的最大公约数,再求最大公约数的最大公约数;②修改main函数,以完成对新新定义的函数的测试。
1)
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/23*版本号:V1.0**问题描述:函数的简单运用。*程序输出:。*/#include <stdio.h>int gcd(int x,int y) //定义用于求两数的最大公约数的函数,函数只管求值,不管输出。输出由main完成{ int temp=0; while (y>0){ temp=x%y; x=y; y=temp; } return x;}int main(){ int a,b,g; scanf("%d %d", &a, &b); g=gcd(a,b); printf("最大公约数是:%d\n", g); return 0;}
输出结果:
2)
/**Copyright (c) 2016, CSDN学院*All rights reserved.*文件名:main.c*作者:DylanLiu*完成日期:2016/10/23*版本号:V1.0**问题描述:函数的简单运用。*程序输出:。*/#include <stdio.h>int gcd(int x,int y) //定义用于求两数的最大公约数的函数,函数只管求值,不管输出。输出由main完成{ int temp=0; while (y>0){ temp=x%y; x=y; y=temp; } return x;}int gcds(int a, int b, int c, int d){ int t=0; int i=0, j=0; i=gcd(a, b); j=gcd(c, d); t=gcd(i, j); return t;}int main(){ int a,b,g; int m, n, o, p, q; scanf("%d %d", &a, &b); g=gcd(a,b); printf("两个数的最大公约数是:%d\n", g); scanf("%d %d %d %d", &m, &n, &o, &p); q=gcds(m, n, o, p); printf("四个数的最大公约数是:%d\n", q); return 0;}
输出结果:
0 0
- (提高篇)第一讲 项目 简单的函数运用(一)
- (提高篇)第一讲 项目 简单的函数运用(二)
- TG(提高篇)第15讲 实践项目 简单银行系统(函数篇)
- 提高篇第一讲项目6—泰勒展开式求sin(x)的值
- (提高篇)第十五讲 项目 简化的银行储蓄系统(函数版)
- (提高篇)第十九讲 编程项目 数组的练习
- 提高篇第一讲项目1——函数版星号图
- 提高篇第一讲项目1.1——函数版等腰三角星号图
- 提高篇第一讲项目5-当年第几天
- 提高篇第二十六讲项目1-有序数组中插入数据(函数版)
- 提高篇第一讲项目6.4——编制函数输出1000以内的所有素数,回文数,回文素数,可逆素数
- (提高篇)第二十讲 项目 二分法解方程等
- 第一讲资金的运用—认识资产(财务分析与决策)
- 第四讲 项目一 点阵图打印名字(一个超级简单的程序)
- 功课数学分析(一) 第一讲
- c语言 第一讲 字符串数组函数调用--const的灵活运用
- 提高篇第一讲项目1.3——输出菱形字母图
- 提高篇第一讲项目6.2——判断参数是否是回文数
- 小技巧
- 纯洁
- JS原生addClass、removeClass实现
- Xshell连接Ubuntu时SSH服务器拒绝了密码问题
- App路由简记(一)
- (提高篇)第一讲 项目 简单的函数运用(一)
- CodeVS2185 最长公共上升子序列
- OKHttp源码分析(一)
- Linux下静态IP的配置
- Hadoop HA笔记
- delphi xe连接oracle心得(备忘)纯原创,一个字一个字打的
- 【自考总结篇——2016年10月】
- http协议
- 51nod 1068【简单博弈】