- 博客(116)
- 收藏
- 关注
原创 习题11-6 查找子串
char *search( char *s, char *t ){ int i,n=strlen(t); while(*s){ i=0; while(*(s+i)==*(t+i)&&*(t+i)){ i++; } if(i==n){ return s; } else{ s++; } } return NULL;}
2022-03-02 18:36:11 157
原创 习题11-5 指定位置输出字符串
char *match( char *s, char ch1, char ch2 ){ int i,j; for(i=0;i<strlen(s);i++){ if(s[i]==ch1){ for(j=i;j<strlen(s);j++){ printf("%c",s[j]); if(s[j]==ch2){ break; } } printf("\n"); return (s+i); } } printf("\n"); .
2022-03-02 17:31:57 441
原创 习题11-4 字符串的连接
char *str_cat( char *s, char *t ){ s=strcat(s,t); return s;}
2022-03-02 17:06:43 163
原创 习题11-3 计算最长的字符串长度
int max_len( char *s[], int n ){ int i,max=0; for(i=0;i<n;i++){ if(strlen(s[i])>max){ max=strlen(s[i]); } } return max;}
2022-03-01 21:11:18 208
原创 习题11-2 查找星期
int getindex( char *s ){ int i; char day[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; for(i=0;i<=6;i++){ if(strcmp(s,day[i])==0){ break; } } if(i==7){ i=-1; } return i;}
2022-03-01 21:05:32 246
原创 习题11-1 输出月份英文名
char *getmonth( int n ){ switch(n){ case 1:return"January"; case 2:return"February"; case 3:return"March"; case 4:return"April"; case 5:return"May"; case 6:return"June"; case 7:return"July"; case 8:return"August"; case 9:return"Septembe.
2022-03-01 20:10:26 195
原创 练习11-4 字符定位(最后一次找到的字符)
char * match(char *s, char ch){ char *ps=NULL; while(*s!='\0'){ if(*s==ch){ ps=s; } s++; } return ps;}
2022-03-01 20:09:55 2239
原创 习题10-11 有序表的增删改查操作
int insert(int a[], int value){ int i; for (i = 0; i < Count; i++) { if (value < a[i]) break; if (value == a[i]) return -1; } for (int j = Count; j > i; j--) a[j] = a[j - 1...
2022-03-01 20:09:19 1104 1
原创 习题10-7 十进制转换二进制
void dectobin( int n ){ if(n==0){ printf("0"); } else if(n==1){ printf("1"); } else{ dectobin(n/2); printf("%d",n%2); } }
2022-03-01 20:08:08 144
原创 习题10-6 递归求Fabonacci数列
int f( int n ){ double result; if(n==0){ result=0; } else if(n==1){ result=1; } else{ result=f(n-2)+f(n-1); } return result;}
2022-02-27 14:38:06 204
原创 习题10-5 递归计算Ackermenn函数
int Ack( int m, int n ){ double result; if(m==0){ result=n+1; } else if(n==0&&m>0){ result=Ack(m-1,1); } else if(m>0&&n>0){ result=Ack(m-1,Ack(m,n-1)); } return result;}
2022-02-27 10:47:30 176
原创 习题10-4 递归求简单交错幂级数的部分和
double fn( double x, int n ){ int flag,i; double sum=1; if(n==1){ return x; } if((n-1)%2==0){ flag=1; } else{ flag=-1; } for(i=0;i<n;i++){ sum*=x; } return fn(x,n-1)+flag*sum;}
2022-02-27 10:47:00 102
原创 习题10-3 递归实现指数函数
double calc_pow( double x, int n ){ double result; if(n==1){ result=x; } else{ result=calc_pow(x,n-1)*x; } return result;}
2022-02-27 10:46:24 118
原创 习题10-2 递归求阶乘和
double fact( int n ){ double result; if(n==0){ result=1; } else{ result=fact(n-1)*n; } return result;}double factsum( int n ){ double sum=0,i; if(n==0){ sum=0; } else{ sum=factsum(n-1)+fact(n); } return sum;}
2022-02-27 10:45:53 122
原创 习题10-1 判断满足条件的三位数
int search( int n ){ int i,x,a,b,c,y,cnt=0; for(i=101;i<=n;i++){ if((int)sqrt(i)*(int)sqrt(i)==i){ if(i%10==(i%100)/10||i%10==i/100||i/100==(i%100)/10){ cnt++; } } } return cnt;}
2022-02-27 10:45:23 132
原创 练习10-1 使用递归函数计算1到n之和
int sum( int n ){ int result; if(n<=0){ result=0; } else{ result=sum(n-1)+n; } return result;}
2022-02-27 10:44:52 103
原创 习题9-6 按等级统计学生成绩
int set_grade( struct student *p, int n ){ int cnt=0,i; for(i=0;i<n;i++){ if((*p).score<60){ (*p).grade='D'; cnt++; } else if((*p).score>=60&&(*p).score<=69){ (*p).grade='C'; } else if((*p).score>=70&&(*p).s.
2022-02-27 10:44:21 759
原创 习题9-2 计算两个复数之积
struct complex multiply(struct complex x, struct complex y){ struct complex result; result.real=x.real*y.real-x.imag*y.imag; result.imag=x.imag*y.real+x.real*y.imag; return result;}
2022-02-27 10:43:54 96
原创 习题8-9 分类统计各类字符个数
void StringCount( char *s ){ int n=strlen(s),i,a,b,c,d,e; a=b=c=d=e=0; for(i=0;i<n;i++){ if('A'<=s[i]&&s[i]<='Z'){ a++; } else if('a'<=s[i]&&s[i]<='z'){ b++; } else if(s[i]==' '){ c++; } else if('0'<.
2022-02-27 10:43:17 273
原创 习题8-8 判断回文字符串
bool palindrome( char *s ){ int n=strlen(s),i,flag=1; for(i=0;i<n/2;i++){ if(s[i]==s[n-1-i]){ continue; } else{ flag=0; break; } } if(flag==0){ return false; } else{ return true; }}
2022-02-26 19:14:09 87
原创 习题8-6 删除字符
void delchar( char *str, char c ){ int i,j; i=j=0; while(str[i]!='\0'){ if(str[i]!=c){ str[j]=str[i]; j++; } i++; } str[j]='\0';}
2022-02-26 18:57:09 178
原创 习题8-5 使用函数实现字符串部分复制
void strmcpy( char *t, int m, char *s ){ t=t+m-1; while(*t!='\0'){ *s=*t; s++; t++; } *s='\0';}
2022-02-26 16:22:01 189
原创 习题8-3 数组循环右移
void ArrayShift( int a[], int n, int m ){ m=m%n; //m>n的情况 int temp[n],i; for(i=0;i<n;i++){ temp[i]=a[i]; } for(i=0;i<n;i++){ //一共2种情况 if(i>=(n-m)){ a[i+m-n]=temp[i]; } else{ a[i+m]=temp[i]; } }}...
2022-02-26 11:17:46 87
原创 习题8-2 在数组中查找指定元素
int search( int list[], int n, int x ){ int i,flag=-1; for(i=0;i<n;i++){ if(x==list[i]){ flag=i; break; } } return flag;}
2022-02-26 10:42:56 60
原创 习题8-1 拆分实数的整数与小数部分
void splitfloat( float x, int *intpart, float *fracpart ){ *intpart=(int)x; *fracpart=x-*intpart;}
2022-02-26 10:34:16 99
原创 练习8-8 移动字母
void Shift( char s[] ){ int i,j; char a[3]; for(i=0;i<3;i++){ a[i]=s[i]; } for(i=3;s[i];i++){ s[i-3]=s[i]; } for(j=i-3,i=0;i<3;i++){ s[j++]=a[i]; }}
2022-02-26 10:27:15 170
原创 练习8-2 计算两数的和与差
void sum_diff( float op1, float op2, float *psum, float *pdiff ){ *psum=op1+op2; *pdiff=op1-op2;}
2022-02-26 09:58:10 321
原创 习题6-6 使用函数输出一个整数的逆序数
int reverse( int number ){ int symbol=1,x,sum=0; if(number<0){ number=-number; symbol=-1; } while(number>0){ x=number%10; sum=sum*10+x; number=number/10; } sum=sum*symbol; return sum;}
2022-02-26 09:53:36 190
原创 习题6-5 使用函数验证哥德巴赫猜想
int prime( int p ){ int i,flag=1; if(p==1){ flag=0; } for(i=2;i<p;i++){ if(p%i==0){ flag=0; break; } } return flag;}void Goldbach( int n ){ int i; for(i=2;i<n;i++){ if(prime(i)==1&&prime(n-i)==1){ printf("%d=%d+%.
2022-02-26 09:38:11 211
原创 习题6-4 使用函数输出指定范围内的Fibonacci数
int fib( int n ){ int x,i,x1=0,x2=1; if(n==1){ x=1; } else{ for(i=1;i<n;i++){ x=x1+x2; x1=x2; x2=x; } } return x;}void PrintFN( int m, int n ){ int i=0,j,f,cnt=0; for(j=0;j<=21;j++){ //对于10000以内只有20个左右 i++; f=fib(i); .
2022-02-24 21:13:17 242
原创 习题6-2 使用函数求特殊a串数列和
int fn( int a, int n ){ int x=0,i; for(i=0;i<n;i++){ x=x*10+a; } return x;}int SumA( int a, int n ){ int sum=0,i; for(i=1;i<=n;i++){ sum=sum+fn(a,i); } return sum;}
2022-01-31 07:58:24 4321
原创 习题6-1 分类统计字符个数
void StringCount( char s[] ){ int n=0,letter,blank,digit,other,i; letter=blank=digit=other=0; while ( s[n] != '\0'){ n++; } //n=strlen(s); 不知道为什么这样不行 for(i=0;i<n;i++){ if((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&a.
2022-01-31 07:57:46 502
原创 习题5-8 空心的数字金字塔
void hollowPyramid( int n ){ int i,j,b=1; for(i=1;i<n;i++){ for(j=n-i;j>0;j--){ printf(" "); } printf("%d",i); if(i==1){ printf("\n"); continue; } for(j=0;j<b;j++){ printf(" "); } b+=2; printf("%d\n",i); } for(i=.
2022-01-31 07:57:15 771
原创 习题5-7 使用函数求余弦函数的近似值
double funcos( double e, double x ){ double a=1,flag=1,result=0; int b=0,i; while(a>e){ double c=1; //注意精度,要用double for(i=b;i>0;i--){ c*=i; } a=1.0*pow(x,b)/c; result+=flag*a; b+=2; flag=-flag; } return result;}...
2022-01-31 07:56:48 292
原创 习题5-6 使用函数输出水仙花数
int narcissistic( int number ){ int i,b,n=0,temp=number,a=number,sum=0,flag=0; while(temp>=1){ temp/=10; n++; } for(i=0;i<n;i++){ b=a%10; sum+=pow(b,n); a/=10; } if(sum==number){ flag=1; } return flag;}void PrintN( int m, int n.
2022-01-31 07:56:15 5238
原创 习题5-5 使用函数统计指定数字的个数
int CountDigit( int number, int digit ){ int cnt=0; if(number==0&&digit==0){ //排除全为0的情况 cnt++; } while(number<=-1||number>=1){ if(abs(number%10)==digit){ cnt++; } number/=10; } return cnt;}
2022-01-30 10:10:03 117
原创 习题5-4 使用函数求素数和
int prime( int p ){ int flag=1,i; if(p==1||p<=0){ flag=0; } for(i=2;i<p;i++){ if(p%i==0){ flag=0; } } return flag;}int PrimeSum( int m, int n ){ int i,sum=0; for(i=m;i<=n;i++){ if(prime(i)==1){ sum+=i; } } return sum;.
2022-01-30 10:09:32 3192
原创 习题5-3 使用函数计算两点间的距离
double dist( double x1, double y1, double x2, double y2 ){ double dist; dist=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); return dist;}
2022-01-30 10:09:02 96
原创 习题5-2 使用函数求奇数和
int even( int n ){ int x; if(n%2==0){ x=1; } else { x=0; } return x;}int OddSum( int List[], int N ){ int i,sum=0; for(i=0;i<N;i++){ if(List[i]%2!=0){ sum=sum+List[i]; } } return sum;}
2022-01-30 10:08:32 253
原创 习题5-1 符号函数
int sign( int x ){ if(x>0){ x=1; } else if(x<0){ x=-1; } else{ x=0; } return x;}
2022-01-30 10:08:05 143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人