c语言
baobao小野菊
这个作者很懒,什么都没留下…
展开
-
计算1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100的值
#includeint main(){double i;int term=1;double sign=0.0;double value=0.0;for(i=1;i{sign=term/i;value=sign+value;term=term*(-1);}printf("%f\n",value);return 0;}原创 2015-03-13 16:15:25 · 535 阅读 · 0 评论 -
标准输入读取字符,并标准输出。大写字母转换成小写字母,其他的原样输出
#include#includechar fun(char ch){ if((ch>='a') && (ch<='z')) return ch; if(isupper(ch)) return ch+'a'-'A'; return ch;}int main(){ char c1,c2,s,t; while (c1=getchar()) { c2=fun(c1);原创 2015-03-17 22:28:12 · 1045 阅读 · 0 评论 -
单链表
LinkList.h#pragma once#include#include#includetypedef int DataType;typedef struct Node{ DataType data; struct Node* next;}Node, *plist;plist _CreateNode(DataType x);void InitLinklist(plist原创 2015-07-15 22:47:57 · 623 阅读 · 0 评论 -
打印1到最大的n位数
题目:输入数字n,按顺序打印出1到最大的n位十进制。比如输入3,则打印出1、2、3一直到最大的三位数即999原创 2016-05-24 19:54:35 · 333 阅读 · 0 评论 -
二进制中1的个数
#includeint count_one_bits(unsigned int value){int count=0;while(value){count++;value=value & (value-1);}return count;}int main(){int ret;ret=count_one_bits(15);printf("原创 2015-03-13 16:08:47 · 385 阅读 · 0 评论 -
菲波那切数列
题目:写一个函数,输入n,求菲波那切数列(Fibonacci)的第n项菲波那切数列的定义如下:说明:除了第0项为0,第一项为1,第n项都为前俩项之和eg:01 2 3 4 56 7 8 9 1011 ...... 0 1 1 2 35 8 13 21 3455 89 ......代码如下:/原创 2016-05-13 14:54:44 · 853 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分分析如下图:代码如下:#includevoid Swap(int* x, int* y){ int tmp = *x; *x = *y; *y = tmp;}void oddtoeven(int* arr, int l原创 2016-05-13 21:33:26 · 261 阅读 · 0 评论 -
在O(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点的指针,定义一个函数在O(1)时间删除该结点。链表结点与函数的定义如下:代码如下:#include#include#includestruct ListNode{ int m_pValue; struct ListNode* m_pNext;}*head;//增加一个结点void addListTailNode(st原创 2016-05-16 19:45:37 · 224 阅读 · 0 评论 -
递归实现将参数字符串中的字符反向排列,要求不能使用C函数库中的字符串操作函数
#includevoid reverse_string(char *string){ int len=0; //strlen()的实现 char*q=string; while(*q != '\0') { q++; len++; } if(len<=1) return; else { int tmp=string[0]; //递归实现的字符串翻转 stri原创 2015-05-11 15:21:38 · 545 阅读 · 0 评论 -
注释转换(c转换为c++)
//input.c中要处理的情况如下input.c/*int i = 0;*//*int y = 0;*/int j = 0;/*int x = 0;/*12345678*//*int h = 0;int g = 0;int j = 0;*/int q = 0;/**//**//* ****** */// /*1234567890*/原创 2015-07-01 20:31:04 · 568 阅读 · 0 评论 -
选择排序
选择排序#includevoid sort(int a[],int len){ int i,j,k; for(i=0;i<len-1;i++) { k=i; for(j=i+1;j<len;j++) { if(a[k]<a[j]) { k=j; } } if(k!=i) { int tmp=a[i]; a[i]=a[k];原创 2015-04-20 21:58:18 · 383 阅读 · 0 评论 -
冒泡排序
冒泡排序思路:每遍历一次数组,往上冒一个数字,不断地缩小范围,知道所有的数字都排序完;时间效率O(N2);初学C语言版本#include void sort(int a[], int len){ int i, j, tmp; for (i = 0; i<len - 1; i++) { for (j = 0; j<len - i - 1; j++) {原创 2016-06-10 17:35:42 · 307 阅读 · 1 评论 -
数值的整数次方
题目:实现函数double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。原创 2016-05-23 21:44:33 · 250 阅读 · 0 评论 -
猴子吃桃问题
#includeint main(){ int day1=0; int day2=1; int i; for(i=1;i<=9;i++) { day1=2 * (day2+1); day2=day1; } printf(" day1=%d\n",day1); return 0;}原创 2015-03-16 22:41:08 · 449 阅读 · 0 评论 -
动态链表
DynSeqlist.h#ifndef __DYNSEQLIST_H__#define __DYNSEQLIST_H__#include#include#include#include#define SIZE 5typedef int DataType;typedef struct seqlist{ DataType* array; size_t size; /原创 2015-07-01 20:38:41 · 635 阅读 · 0 评论 -
编写程序数1-100的所有整数中出现多少次数字9
#includeint main(){int i;int one=0;for(i=1;i{if((i%10==9) || (i/10==9))one++;}printf("%d\n",one);return 0;}原创 2015-03-13 16:17:37 · 450 阅读 · 0 评论 -
求 2/1+3/2+5/3+8/5+13/8+…的前20项和
#includeint main(){ int i; double m=2.0; double n=1.0; double t; double sum=0.0; for(i=1;i<=20;i++) { sum=sum+m/n; t=m; m=m+n; n=t; } printf("sum=%f\n",sum); return 0;}原创 2015-03-15 22:56:55 · 969 阅读 · 0 评论 -
判断1000年-2000年之间的闰年
#includeint main(){int i,year;for(i=1000;i{year=i;if( year%4==0 ){if( year%100!=0 )printf("year=%d为闰年\n",year);elseif(year%400==0)printf("year=%d为闰年\n",year);原创 2015-03-11 22:41:19 · 420 阅读 · 0 评论 -
反弹问题
#includeint main(){ int i; int h=100; double hi=0.0; double ht=h/2; double sum=0.0; for(i=1;i<=9;i++) { sum=sum+2*ht; ht=ht/2; } printf("sum+100=%f,ht=%f\n",sum,ht); return 0;}原创 2015-03-15 23:01:35 · 351 阅读 · 0 评论 -
简单的四则运算计算器
#includevoid print_menu(){ printf("*********************\n"); printf("***1.add 2.sub***\n"); printf("***3.mul 4.div***\n"); printf("*********************\n");}int add(int x,int y){ r原创 2015-05-23 00:34:15 · 793 阅读 · 0 评论 -
输出乘法口诀表
#includeint main(){int i,j,k;for(i=1;i{for(j=1;j{k=i*j;printf("%d*%d=%d ",i,j,k);}printf("\n");}return 0;}原创 2015-03-11 22:44:58 · 341 阅读 · 0 评论 -
输入一个非负整数返回组成它的数字之和,用递归实现
#includeint DigitSum(int n){ if(n<10) return n; else return n%10+DigitSum(n/10);}int main(){ int ret=0; ret=DigitSum(1729); printf("%d\n",ret); return 0;}原创 2015-05-10 14:45:50 · 444 阅读 · 0 评论 -
数组的初始化
#includevoid init(int arr[],int len)//数组的初始化,以下标的形式初始化数组{ int i=0; for(i=0;i<len;i++) { arr[i]=len-i; }}void sort(int *arr,int len)//冒泡排序法,以指针的形式给数组中元素排序{ int i=0; int j=0; for(i=0;i<l原创 2015-05-11 17:47:30 · 460 阅读 · 0 评论 -
用递归实现厄密函数
#include int hermite(int n,int x){ if(n<=0) return 1; else if(n=1) return 2*x; else return 2 * x *(hermite(n-1,x))-2*(n-1)*(hermite(n-2,x));}int main(){ int ret=0; ret=hermite(1,2); p原创 2015-05-10 13:39:31 · 404 阅读 · 0 评论 -
输入3个字符串,由小到大排序输出
#include#includevoid swap(char **a,char **b) { char *tmp=*a; *a=*b; *b=tmp;}int main(){ char *a[3]; int i=0; a[0]="bit"; a[1]="abcdef"; a[2]="abcdeee"; if(strcmp(a[0],a[1])>0) {原创 2015-04-20 09:35:24 · 1042 阅读 · 0 评论 -
用递归实现 n^k
#include int fun(int n,int k){ if(k==0) { return 1; } if(k>0) { return n*fun(n,k-1); }}int main(){ int ret=0; ret=fun(2,10); printf("%d\n",ret); return 0;}原创 2015-05-10 14:33:20 · 391 阅读 · 0 评论 -
顺序表
seqlist.h#ifndef __SEQLIST_H__#define __SEQLIST_H__#include#include#include#define MAX_SIZE 1000typedef int DataType;typedef struct seqlist{ DataType array[MAX_SIZE]; size_t size;}s原创 2015-07-01 20:35:04 · 631 阅读 · 0 评论 -
可变参数列表的实现--平均值
c语言中用可变参数列表的原因cpp文件中参数可以初始化,则实参中用几个参数写几个,但是c中形参不可以初始化,所以引出可变参数列表,头文件为stdarg.h,使用宏stdargva_list类型 arg变量 eg:va_list arg宏stdarg使用了三种宏 va_start(arg,val)初始化va_arg(arg,int)读取va_end(arg)结束原创 2015-05-12 13:08:51 · 833 阅读 · 0 评论