C语言提高-第5讲: 函数的参数(回文、素数)
来源:互联网 发布:云计算判断题 编辑:程序博客网 时间:2024/06/04 19:03
任务和代码:
/**All rights reserved*文件名称:main.c*作者: Osseyda完成日期:2017.10.10*版本号:v2.**问题描述:编制一个函数reverse,返回给定数据的“反序数”.*问题输出:例如输入1234,输出4321。请编制reverse函数,实现要求的功能。*/#include <stdio.h>int reverse(int);int main(){ int m,n; scanf("%d", &m); n=reverse(m); printf("%d\n", n); return 0;}int reverse(int x){ //函数只管求值,不管输出。输出由main函数完成 int y=0; while(x!=0){ y=y*10+x%10; //m进一位并加上余数 x/=10; } return y;}
/**All rights reserved*文件名称:main.c*作者: Osseyda完成日期:2017.10.10*版本号:v2.**问题描述:编制isPalindrome(),用于判断参数是否是回文数——回文数*问题输出:如1221和121都是回文数,而1231、123都不是回文数。isPalindrome()函数的返回值是int型,是回文返回1(真),不是回文,返回0(假)*/#include<stdio.h>int isPalindrome(int);int reverse(int);int main(){ int m; scanf("%d", &m); if(isPalindrome(m)) printf("%d是回文数,噢耶!\n", m); else printf("%d不是回文数。回文有什么好!\n", m); return 0;}int isPalindrome(int n){ //在这个函数中只管判断,不能出现printf语句! int l; l=reverse(n); if(l!=n) return 0;}int reverse(int x){ //函数只管求值,不管输出。输出由main函数完成 int y=0; while(x!=0){ y=y*10+x%10; //m进一位并加上余数 x/=10; } return y;}
/**All rights reserved*文件名称:main.c*作者: Osseyda完成日期:2017.10.10*版本号:v2.**问题描述:编制一个返回值为int型的函数isPrimer(),用于判断参数是否为素数*问题输出:是素数返回1-真,不是素数,返回0-假*/#include<stdio.h>int isPrimer(int);int main(){ int m; scanf("%d",&m); if(isPrimer(m)) printf("是素数"); else printf("非也");}int isPrimer(int n){ //在这个函数中只管判断,不能出现printf语句! int t,i; t=sqrt(n); for(i=2;i<=t;i++){ if(n%i==0) return 0; }}
/**All rights reserved*文件名称:main.c*作者: Osseyda完成日期:2017.10.10*版本号:v2.**问题描述:编制main函数,调用上面定义的3个函数*问题输出:输出1000以内的所有素数。 输出1000以内的所有回文数。 输出1000以内的所有回文素数。 输出10000以内的所有可逆素数。*/#include <stdio.h>#include <math.h>int isPrimer(int);int isPalindrome(int);int reverse(int);void printPrime();void printPalindrome();void printPrimeAndPalindrome();void printReversiblePrime();int main(){ printf("1000以内的所有素数: \n"); printPrime(); printf("\n\n"); printf("1000以内的所有回文数: \n"); printPalindrome(); printf("\n\n"); printf("1000以内的所有回文素数: \n"); printPrimeAndPalindrome(); printf("\n\n"); printf("1000以内的所有可逆素数: \n"); printReversiblePrime(); printf("\n\n");}int isPrimer(int n){ //判断是否为素数 int t,i; t=sqrt(n); for(i=2;i<=t;i++){ if(n%i==0) return 0; }}int isPalindrome(int n){ //判断是否为回文数 int l; l=reverse(n); if(l!=n) return 0;}int reverse(int x){ //判断是否为反序数 int y=0; while(x!=0){ y=y*10+x%10; x/=10; } return y;}void printPrime(){ //输出1000以内的所有素数 int i,n=0; for(i=2;i<=1000;i++){ if(isPrimer(i)){ printf("%d\t",i); n++; if(n%5==0) printf("\n"); } }}void printPalindrome(){ //输出1000以内的所有回文数 int i,n=0; for(i=1;i<=1000;i++){ if(isPalindrome(i)){ printf("%d\t",i); n++; if(n%5==0) printf("\n"); } }}void printPrimeAndPalindrome(){ //输出1000以内的所有回文素数 int i,n=0; for(i=2;i<=1000;i++){ if(isPrimer(i)&&isPalindrome(i)){ printf("%d\t",i); n++; if(n%5==0) printf("\n"); } }}void printReversiblePrime(){ //输出10000以内的所有可逆素数 int i,n=0; for(i=2;i<=1000;i++){ if(isPrimer(i)&&isPrimer(reverse(i))){ printf("%d\t",i); n++; if(n%5==0) printf("\n"); } }}
运行结果:
知识点总结:
有返回值和没有返回值两种函数的调用
心得:
在判断语句中,也可以使用函数表达式
阅读全文
0 0
- C语言提高-第5讲: 函数的参数(回文、素数)
- C语言提高-第5讲: 函数的参数(求4数最大公约数)
- C语言提高-第23/24/25讲: 指针的运算/数组名作为函数参数/指针作函数参数(一维数组Vs指针)
- C语言提高-第9讲: 函数的嵌套调用(编制sin函数表)
- C语言提高-第24/25讲: 数组名【指针】作为函数参数(成绩处理函数版)
- 第4周 C语言及程序设计提高例程-5 函数的参数
- C语言提高-第7讲: 返回指针的函数(回顾“野指针”)
- 提高篇第一讲项目6.4——编制函数输出1000以内的所有素数,回文数,回文素数,可逆素数
- C语言及程序设计提高例程-5 函数的参数
- C语言提高-第8讲: 函数的声明、定义和调用(歌手大奖赛计分函数版)
- C语言提高-第26/27讲: 实现线性表基本操作的函数/编写查找和排序函数
- 第10周 C语言及程序设计提高例程-38 main函数的参数
- C语言提高-第6讲: 参数传递方式(传值与传地址)
- C语言求回文素数
- C语言提高-第20讲: 经典:查找的艺术(有几个)
- C语言提高-第20讲: 经典:查找的艺术(有序数组中插入数据)
- C语言提高-第21讲: 首尝排序——冒个泡(工资的排序)
- C语言提高-30讲:字符和字符串处理函数
- Java 多线程编程
- 我的CSDN博客开张了
- java上传文件到文件夹判断文件夹是否存在,不存在则创建
- linux 防火墙设置、访问ip限制、iptables命令
- Android 图片选择到裁剪之步步深坑
- C语言提高-第5讲: 函数的参数(回文、素数)
- 一个介绍YOLO的特别好的网址
- 360安全卫士企业版卸载
- Filter过滤器
- 3_python入门前100个小程序
- 让DIV中的垂直滚动条自动滚到最底部
- Linux集群管理员应对审计的7个小窍门
- gitlab和github使用ssh方式拉取代码的配置
- Decision Tree(决策树)