c语言函数

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用递归法将一个正整数n的各个数字分别输出int f(int num)

{

int x;

if(num==0)

return 0;

else{

x=num%10;

f(num/10);

}

穷举实例

int main()

{

int n=1,m,sum,i;

while(1)

{

m=n;

sum=0;

for(i=1;i<8;i++)

{

m=m*2;

sum=m+sum;

}

sum=sum+n;

if(sum==765)

{

cout<<"fist"<

cout<<"last"<

break;

}

n++;

}

return 0;

}

宏定义可以定义函数例如交换函数swap

#Define swap(a,b){int c;c=a;a=b;b=c;} 简单结构体成员号码姓名

#include "StdAfx.h"

#include"stdio.h"

#include"string.h"

#include"iostream"

using namespace std;

struct student

{ int num;

char name[50];

struct student *next;

};

struct student *creat(int n)

{

int i;

struct student *head,*p1,*p2;

int num1;

char name1[50];

head=NULL;

for(i=n;i>0;--i)

{

p1=(struct student* )malloc(sizeof(struct student));

cout<<"输入编号";

cin>>num1;

cout<<"输入姓名";

cin>>name1;

p1->num=num1;

strcpy(p1->name,name1);

if(head==NULL)

{

head=p1;

p2=p1;

}

else

{

p2->next=p1;

p2=p1;

}

}p2->next=NULL;

return head;

void main()

{

int n;

struct student *q;

cin>>n;

q=creat(n);

while(q)

{

cout<<"编号"<num<<"\n";

cout<<"姓名"<name<<"\n";

q=q->next;

}

getchar();

}

利用栈实现进制转换

#include "StdAfx.h"

#include

typedef struct tagSTACK {

int stack[255];

int top;

}STACK;

STACK s;

void push(int i)

{

s.top++;

s.stack[s.top] = i;

}

int pop()

{

int ret;

if (s.top> -1)

ret = s.stack[s.top];

s.top--;

return ret;

}

return -1;

}

void Bin(int i, int k, char str[])

{

int j, ret;

while (i)

{

push(i % k);

i /= k;

}

for (j = 0; ret = pop(), ret != -1; ++j) { if (ret > 9)

{

str[j] = ret + 'A' - 10;

}

{

str[j] = ret + '0'; }

}

str[j] = 0;

}

int main(void)

{

int i; int j;

char result[255];

s.top = -1;

printf("Please inuput the Number:"); scanf("%d", &i);

getchar();

printf("Please inuput the mode (2,8,16):"); scanf("%d", &j);

getchar();

switch (j)

{ case 2:

Bin(i, 2, result); printf("二进制:\t\t%s\n", result); s.top = -1; break;

case 8:

s.top = -1; Bin(i, 8, result); printf("八进制:\t\t%s\n", re sult); break;

case 16:

s.top = -1; Bin(i, 16, result); printf("十六进制:\t%s\n", result); break;

}

return 0;

}

递归计算多项式

double f1(int n,int x)

{

if(n==0)

return double(1);

相关文档
最新文档