#include<stdio.h>
void main()
{
int n,x=0,m,y=0,sum,z=0;
printf("请输入两个数:\n");
scanf("%d%d",&n,&m);
while(n!=0)
{
x=x*10+n%10;
n=n/10;
}
while(m!=0)
{
y=y*10+m%10;
m=m/10;
}
printf("输出:%d %d\n",x,y);
sum=x+y;
printf("sum=%d\n",sum);
while(sum!=0)
{
z=z*10+sum%10;
sum=sum/10;
}
printf("反转后的sum=%d\n",z);
}
上机题2:求1+2!+3!+...+20!的和
要求:利用递归函数
我的程序:
#include<stdio.h>
long jc(int n)
{
long sum1=1;
if(n==1) return 1;
return n*jc(n-1);
}
void main()
{
long sum=0;
for(int i=1;i<=20;i++)
{
sum=sum+jc(i);
}
printf("1!+2!+...+20!=%ld\n",sum);
}
上机题3:编写程序,输入一个正整数N,如果N 是质数则输出Yes,否则输出No。另,由于最小的质数是2,所以先检查它是否小于2,如果是的话,则提示“质数是不能小于2,请重新输入”
要求:利用自定义函数P(N)检查N 是不是质数
我的程序:
#include<stdio.h>
int zhishu(int n)
{
for(int i=2;i<n;i++)
{
if(n%i==0)
{
return 1; break;
}
else
return 0;
}
}
void main()
{
int n,m;
printf("请输入一个数:\n");
scanf("%d",&n);
if(n<=2)
printf("质数不能小于2,请重新输入!");
if(zhishu(n)==0)
printf("Y\n");
if(zhishu(n)==1)
printf("N\n");
}