c语言函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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<<"编号"< cout<<"姓名"< 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);