帮忙做几个c语言题目

1.输入任意一个整数n,产生出它的逆序数放于m中,并将n和m分别输出。2.输入n个正整数,求他们的最大公约数和最小公倍数。3.根据泰勒多项式求cosx的近似值(-∞<x<... 1.输入任意一个整数n,产生出它的逆序数放于m中,并将n和m分别输出。
2.输入n个正整数,求他们的最大公约数和最小公倍数。
3.根据泰勒多项式求cosx的近似值(-∞<x<∞)
cos x = 1-x2/2!+x4/4!-...(-1)k*x2k/(2k)! +...

感激不尽 不要写的太复杂 我刚学没几天 写简单点 用while写
谢谢了
展开
 我来答
紫川帝林
2011-03-22 · 超过17用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:40.7万
展开全部
第一个:
#include<stdio.h>
int main()
{
int ans=0,in;
scanf("%d",&in);
printf("%d\n",in);
ans=in%10;
in/=10;
while(in/10)
{
ans=ans*10+in%10;
in/=10;
}
ans=ans*10+in%10;
printf("%d\n",ans);
return 0;
}
第二个:
#include<stdio.h>
#include<malloc.h>
#define maxsize 10
typedef struct stack
{
int a[maxsize];
int top;
}Stack;
int gys(int x,int y)
{
int z,j;
z=x>y?y:x;
for (j=z;j>=1;j--)
if (x%j==0&&y%j==0)
{
return j;
break;
}
}
int gbs(int x,int y)
{
int z,j;
z=x>y?x:y;
for (j=z;;j++)
if (j%x==0&&j%y==0)
{ return j;
break;
}
}
void main()
{
Stack *p;
int a,b,t,k,m;
printf("please input the number (stop by 0):");
p=(Stack*)malloc(sizeof(Stack));
p->top=-1;
scanf("%d",&p->a[0]);
p->top++;
while (p->a[p->top]!=0)
{
p->top++;
scanf("%d",&p->a[p->top]);
}
p->top--;
if (p->top!=-1)
{
m=a=p->a[p->top--];
while (p->top+1)
{
b=p->a[p->top--];
t=a;k=m;
a=gbs(t,b);
m=gys(k,b);
}
printf("The min gong bei shu is %d\nThe max gong yue shu is %d\n",a,m);
}
else
printf("error\n");

}
第三个:
#include<stdio.h>
#include<math.h>/*fabs()*/
void main()
{
double x,c,a;
int i;
scanf("%lf",&x);
a=1;
c=a;
for(i=1;;i+=2)
{
a*=x*x*(-1)/(i*(i+1));/*相邻两项的比值*/
if(fabs(a)<1e-7)
break;
c+=a;
}
printf("cos(%g)=%.8f\n",x,c);
}
//注意x为弧度,输入的值过大没意义只要在-2*∏~2*∏即可。因为C语言的运算精确度有限。我也曾考虑先把一个弧度转化到-2*∏~2*∏之间,但这需要一个比较准确的∏的值,否则误差会大
图灵科技
2011-03-22 · TA获得超过143个赞
知道答主
回答量:81
采纳率:0%
帮助的人:70.5万
展开全部
#include<stdio.h>
#include<string.h>

void P01() {
char n[80] = { '\0' };
char m[80] = { '\0' };
gets(n);
int i, len = strlen(n);
for (i = 0; i < len; i++)
m[len - 1 - i] = n[i];
puts(n);
puts(m);
}
void P02() {
int a[100], i = 0, n;
int max = -(1 << 16), min = (1 << 16);
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
if (a[i] > max)
max = a[i];
if (a[i] < min)
min = a[i];
}
int cnt, k;
for (i = min; i >= 1; i--) {
cnt = 0;
for (k = 0; k < n; k++)
if (a[k] % i == 0)
cnt++;
if (cnt == n)
break;
}
printf("gcd=%d\n", i);
for (i = max;; i++) {//没有用算法了
cnt = 0;
for (k = 0; k < n; k++)
if (i % a[k] == 0)
cnt++;
if (cnt == n)
break;
}
printf("lcm=%d\n", i);
}
int main(int argc, char **argv) {
P01();//输入12345 CR
P02();//试一下输入 5 2 3 4 5 6 CR
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式