您的位置:首页 > 其它

第八次上机作业

2013-05-24 18:16 197 查看
上机题1:任意输入两个大于10的整数,将两数分别反转(逆序)后两相乘,如果最后一位是0去掉0,再反转后输出;

我的程序:

#include <stdio.h>
int fun(int x)
{
int i,j=0;
while(x>0)
{
i=x%10;
x=x/10;
j=j*10+i;
}
return j;
}
void main()
{
int a,b,m;
printf("请输入两个大于10的整数: ");
scanf("%d %d", &a,&b);
m=fun(a)*fun(b);
m=fun(m);
printf("结果为:%d",m);
}


运行截图



-----------------------分割线-----------------------
上机题2:假设一个数列K表的前两项是0,1,而之后的每一项为KN=
2 * KN-1+3 KN-2,输入一个正整数N,计算和输出该数列的第Ñ项
要求:利用递归函数

我的程序:

#include<stdio.h>
int fun(int x)
{
int m;
if(x==1)
m=0;
if(x==2)
m=1;
if(x>2)
m=2*fun(x-1)+3*fun(x-2);
return m;
}
int main()
{   int N,M;
printf("输入正整数N:");
scanf("%d",&N);
M=fun(N);
printf("答案为%d",M);
}


运行截图



-----------------------分割线-----------------------
上机题3:编写程序,输入一个正整数n,如果n+1是质数则输出Yes,否则输出No。另,由于最小的质数是2,所以先检查它是否小于2,如果是的话,则提示“质数是不能小于2,请重新输入”
要求:利用自定义函数z(n)检查是不是质数

我的程序:

#include<stdio.h>
void main()
{
int i,n,m,a=1;
while (a)
{
printf("请输入一个正整数:\n");
scanf("%d",&n);
n=n+1;
if (n<2)
printf("质数是不能小于2,请重新输入\n");
else
break;
}
for(i=2;i<n;i++)
{
m=n%i;
if(m==0)
break;
}
if(i==n)
printf("yes\n");
else
printf("no\n");

}

#include<stdio.h>
void main()
{
int i,n,m,a=1;
while (a)
{
printf("请输入一个正整数:\n");
scanf("%d",&n);
n=n+1;
if (n<2)
printf("质数是不能小于2,请重新输入\n");
else
break;
}
for(i=2;i<n;i++)
{
m=n%i;
if(m==0)
break;
}
if(i==n)
printf("yes\n");
else
printf("no\n");

}


运行截图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: