第八次上机实验
2013-05-17 08:57
274 查看
上机题1:任意输入两个整数(-1000<n<10000),将两数分别反转(逆序)后两相加,相加后的结果再反转后输出
#include<stdio.h> int fun(int a) { int x=0; while(a!=0) { x=x*10+a%10; a=a/10; } return x; } int main() { int a,b; printf("请输入2个数字"); scanf("%d %d",&a,&b); printf("%d %d\n",fun(a),fun(b)); printf("%d\n",fun(fun(a)+fun(b))); }
上机题2:求1+2!+3!+...+20!的和
#include<stdio.h> int F(int n) { if(n==1) return 1; else return n*F(n-1); } int main() { long sum=0; for(int i=20;i>0;i--) sum=sum+F(i); printf("%ld\n",sum); }
上机题3:编写程序,输入一个正整数N,如果N 是质数则输出Yes,否则输出No。另,由于最小的质数是2,所以先检查它是否小于2,如果是的话,则提示“质数是不能小于2,请重新输入”
要求:利用自定义函数P(N)检查N 是不是质数
#include<stdio.h> int N(int n) { int i=2; if(n<2) { printf("质数是不能小于二的\n"); return 0; } while(i<n) { if(n%i==0) { n=0;break; } i++; } if(n==0) printf("N\n"); else printf("Y\n"); return 0; } int main() { int a; printf("请输入一个需要判定的数字:"); scanf("%d",&a); N(a); }