2013C语第七次上机课.docVIP

  • 34
  • 0
  • 约7.08万字
  • 约 9页
  • 2017-06-12 发布于河南
  • 举报
2013C语第七次上机课

1.编写一个函数,利用参数传入一个3位数number,找出101~number之间所有满足下列两个条件的数: 它是完全平方数,又有两位数字相同,如144、676等,函数返回找出这样的数据的个数。请同时编写主函数。 例:(括号内为说明) 输入 3 (repeat=3) 150 500 999 输出 count=2 count=6 count=8 #include stdio.h #include math.h int search(int n); int main(void) { int number,ri,repeat; scanf(%d,repeat); for(ri=1;ri=repeat;ri++){ do{ scanf(%d,number); }while(number101||number999); printf(count=%d\n,search(number)); } } int search(int n) { int i,j,count=0,l,k,zeus,num; int a[3]; for(i=101;i=n;i++){ num=i; while(num!=0){ for(j=0;j3;j++){ a[j]=num%10; num=num/10; } } zeus=sqrt(i); for(l=0;l3;l++){ for(k=l+1;k3;k++) if(a[l]==a[k]zeus*zeus==i) count ++; } } return count; } 2. 输入一个正整数repeat (0repeat10),做repeat次下列运算: 输入一个整数n (n=0)和一个双精度浮点数x,输出函数p(n,x)的值(保留2位小数)。 [1 (n=0) p(n, x) = [x (n=1) [((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n (n1) 例:括号内是说明 输入 3 (repeat=3) 0 0.9 (n=0,x=0.9) 1 -9.8 (n=1,x=-9.8) 10 1.7 (n=10,x=1.7) 输出 p(0, 0.90)=1.00 p(1, -9.80)=-9.80 p(10, 1.70)=3.05 #include stdio.h double p(int n, double x); int main(void) { int repeat, ri; int n; double x, result; scanf(%d, repeat); for(ri = 1; ri = repeat; ri++) { scanf(%d%lf, n, x); result = p(n, x); printf(p(%d, %.2lf)=%.2lf\n, n, x, result); } } double p(int n, double x) { if(n==0) return 1.00; else if(n==1) return x; else if(n1) return ((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n; else { printf(n cant below 0\n); return 0.0; } } 3. 输入一个正整数repeat (0repeat10),做repeat次下列运算: 输入两个整数m和n(m=0且n=0),输出函数Ack(m,n)的值。 在m=0和n=0时Ack(m, n)定义为: Ack(0,n) = n+1 Ack(m,0) = Ack(m-1,1) Ack(m,n) = Ack(m-1, Ack(m,n-1)) m0且n0 例:括号内是说明 输入 4 (repeat=4) 0 3 2 0 2 3 0 0 输出 Ackerman(0,3)=4 Ackerman(2,0)=3 Ackerman(2,3)=9 Ackerman(0,0)=1 #include stdio.h int Ack(int m, int n); int main(void) { int m,n; int result; int i,repeat; scanf(%d,repeat); for(

文档评论(0)

1亿VIP精品文档

相关文档