求C程序!!!急急急急!!!
1.编写程序:从键盘输入一个字符串s,将s字符串中所有和前面重复多余的字符删除,其余字符保留。输出处理后的字符串。例如:输入:abadcbad输出:abdc2.余弦函数(...
1. 编写程序:从键盘输入一个字符串s,将s字符串中所有和前面重复多余的字符删除,其余字符保留。输出处理后的字符串。例如:
输入:abadcbad
输出:abdc
2. 余弦函数(cosx)的幂级数展开式为:
编写程序:
(1) 要求从控制台输入x的值,依据上述cosx的幂级数展开式,输出cosx的近似值;
(2) 要求计算结果精确到小数点后8位。
(3) 注意:不允许使用C标准函数库(math.h)中的余弦函数。
#include<stdio.h>
int main()
{
float cos(int x,int n);
int x,n;
float m;
printf("请输入x和n的值:");
scanf("x=%d,n=%d\n",x,n);
m=cos(x,n);
printf("cos%d=%1.8f\n",x,m);
return 0;
}
float cos(int x,int n)
{
# include<math.h>
{
int fac(int n);
float m;
if(n==1)
m=1.00;
else if(n>=2)
m=(pow(-1,n)*pow(x,2*n))/fac(2*n)+cos(x,n-1);
return m;
}
}
int fac(int n)
{
int f;
if(n<0)
printf("n<0,data error");
else if(n==0||n==1)
f=1;
else f=fac(n-1)*n;
return(f);
} 展开
输入:abadcbad
输出:abdc
2. 余弦函数(cosx)的幂级数展开式为:
编写程序:
(1) 要求从控制台输入x的值,依据上述cosx的幂级数展开式,输出cosx的近似值;
(2) 要求计算结果精确到小数点后8位。
(3) 注意:不允许使用C标准函数库(math.h)中的余弦函数。
#include<stdio.h>
int main()
{
float cos(int x,int n);
int x,n;
float m;
printf("请输入x和n的值:");
scanf("x=%d,n=%d\n",x,n);
m=cos(x,n);
printf("cos%d=%1.8f\n",x,m);
return 0;
}
float cos(int x,int n)
{
# include<math.h>
{
int fac(int n);
float m;
if(n==1)
m=1.00;
else if(n>=2)
m=(pow(-1,n)*pow(x,2*n))/fac(2*n)+cos(x,n-1);
return m;
}
}
int fac(int n)
{
int f;
if(n<0)
printf("n<0,data error");
else if(n==0||n==1)
f=1;
else f=fac(n-1)*n;
return(f);
} 展开
2个回答
展开全部
第一题:
#include <cstdlib>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#define DB if(debug==1)
int debug;
using namespace std;
char *getstr2(char * buf);
inline int own(char * str,char c,int i);
int main(int argc, char *argv[])
{ debug=0;
char *buf=(char*)malloc(512);
char *cmp=(char*)malloc(512);
int i=0,j=0;
while(1){
getstr2(buf);
i=0,j=0;
while(1){
if (buf[i]==0) {;break;}
if ( own(cmp,buf[i],j) ){i++;continue;}
cmp[j++]=buf[i++];
DB{
printf("%c ",cmp[j-1]);
}
}//end while
cmp[j]=0;
printf("%s\n",cmp);
}//end while
free(buf);free(cmp);
system("PAUSE");
return EXIT_SUCCESS;
}
inline int own(char * str,char c,int i){
int n=0;
for (n=0;n<i;n++){
if (str[n]==c)return 1;
}
return 0;
}
char *getstr2(char * buf){
char c;
int p=0;
while ((c=getchar())!= '\n' ){
buf[p++]=c;
}
buf[p]='\0';
return buf;
}
#include <cstdlib>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#define DB if(debug==1)
int debug;
using namespace std;
char *getstr2(char * buf);
inline int own(char * str,char c,int i);
int main(int argc, char *argv[])
{ debug=0;
char *buf=(char*)malloc(512);
char *cmp=(char*)malloc(512);
int i=0,j=0;
while(1){
getstr2(buf);
i=0,j=0;
while(1){
if (buf[i]==0) {;break;}
if ( own(cmp,buf[i],j) ){i++;continue;}
cmp[j++]=buf[i++];
DB{
printf("%c ",cmp[j-1]);
}
}//end while
cmp[j]=0;
printf("%s\n",cmp);
}//end while
free(buf);free(cmp);
system("PAUSE");
return EXIT_SUCCESS;
}
inline int own(char * str,char c,int i){
int n=0;
for (n=0;n<i;n++){
if (str[n]==c)return 1;
}
return 0;
}
char *getstr2(char * buf){
char c;
int p=0;
while ((c=getchar())!= '\n' ){
buf[p++]=c;
}
buf[p]='\0';
return buf;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询