开始学c 第二天
二级c语言上机题
1,删除字符串中的星号
问题:1,删除字符串后端的星号,得到指向字符串末尾的指针,并向前找到第一个非星号的字符,将最后一个星号设置为'\0';
2,删除字符串前端的星号,得到字符串首地址,并找到第一个非星号的字符,将其后的字符依次前移;
3,删除字符串中间的星号,设置两个指针,p,q。q遍历字符串,p紧跟其后,遇到星号则跳过。
# include <stdio.h> # include <string.h> void del(char *s) { int i=0,cou=0,k; int len=strlen(s); while(s[i++]=='*')cou++; k=cou; for(i=0;k<len;k++,i++) s[i]=s[k]; for(i=len-cou;i<len;i++) s[i]='*'; } void main() { char ss[100]; scanf("%s",ss); del(ss); printf("\n%s",ss); }
2,求1+(1+根号2)+(1+根号2+根号3)+...
问题:1,pow函数求指数,pow(a,0.5)开根号
2,temp=temp+pow(i,0.5);sum=sum+temp;
#include <stdio.h> float sum(int n) { int i; float te=0.0,sum=0.0; for(i=1;i<=n;i++) { te=te+i; sum=sum+1/te; } return sum; } void main() { int i,n; float s; scanf("%d",&n); s=sum(n); for(i=1;i<n;i++) { printf("1/%d+",i); } printf("1/%d=%.2f",n,s); }
3,求斐波拉切数列中不小于n的第一个数
问题:1,算法:{x=1,y=1,z=0;}{z=x+y;x=y;y=z;}
浙公网安备 33010602011771号