c语言回顾--函数

来源:互联网 发布:联想 没落 知乎 编辑:程序博客网 时间:2024/06/07 14:01

一、问题及代码:


/** 文件名称:函数回顾* 完成日期:2016 年 3 月 2日* 版 本 号:v1.0* 对任务及求解方法的描述部分:使用函数解题* 输入描述: 无* 问题描述: 编制2个返回值为int型的函数,用于判断参数是否为素数  和回文,调用函数回答以下问题  (请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。)* 程序输出: (1)输出10000以内的所有素数。 (2)输出10000以内的所有回文数。 (3)输出10000以内的所有回文素数。 (4)若一个素数的反序数仍为素数,则称它为可逆素数。求10000以内的所有可逆素数。* 问题分析: 无* 算法设计: 无*/#include<stdio.h>//判断是否为素数int ifsu(int n){int i;for(i=2;i<n;i++){if(n%i==0) return 0;}if(n==1)return 0;else return 1;}//判断是否为回文数int ifhw(int n){int a[20],i,j;for(i=0;n>0;i++){a[i]=n%10;n/=10;}for(j=0;j<i/2;j++){if(a[j]!=a[i-j-1]) return 0;}return 1;}//反转数值zhuan(int n){    int a[20],i,j;for(i=0;n>0;i++){a[i]=n%10;n/=10;}for(j=0;j<i;j++)    {        n+=a[j];        n*=10;    }    return n/10;}int main(){int i;printf("1到100内的素数:\n");for(i=1;i<100;i++){if(ifsu(i))printf("%d ",i);}    printf("\n1到1000内的回文数:\n");for(i=1;i<1000;i++){if(ifhw(i))printf("%d ",i);}printf("\n1到10000内的回文素数:\n");for(i=1;i<10000;i++){if(ifhw(i)&&ifsu(i))printf("%d ",i);}    printf("\n1到10000内的可逆素数:\n");for(i=1;i<10000;i++){if(ifsu(i)&&ifsu(zhuan(i)))printf("%d ",i);}printf("\n");return 0;}




二、运行结果:



三、心得体会:   


四、知识点总结:     


1 0