中国大学慕课 大连理工大学 C语言程序设计 第8周 变量的作用域及编译预处理

1

求x的n次方(10分)

题目内容:编写求x的n次方的递归函数,在主函数调用并输出。(x为double型,n为整型,函数类型为double型)

输入格式:

%lf%d

输出格式:

%f

输入样例:

4 3

输出样例:

64.000000

时间限制:500ms内存限制:32000kb

#include 
double  recursion(double x,int n)
{
    if(n==1)
	  return x;
	else 
	  return x*recursion(x,n-1);
}
int main()
{
 int n;
 double x,product;
 scanf("%lf%d",&x,&n);
 product=recursion(x,n);
 printf("%f",product);
 return 0;
}

2

输出最大、最小数(10分)

题目内容:编写函数,通过键盘输入10个整数,找出其中最大的数和最小的数,返回到主调函数中输出。

输入格式:

%d

输出格式:

max=%d,min=%d

输入样例:

2 3 4 1 7 6 8 9 26 35 

输出样例:

max=35,min=1

时间限制:500ms内存限制:32000kb

#include 
#define N 10
int *m,*n,max,min,i;
int max_min(int *p)
{
 max=*p;
 min=*p;
 for(i=0;imax)
	    max=p[i];
 for(i=0;i

3

任意整数转换为千分位分隔的字符形式。(10分)

题目内容:

编写函数,对于任意输入的一个整数,转换为千分位分隔的字符形式,在主函数中调用并输出。

输入格式:

%d

出格式:

%c 或 putchar(

输入样例:

123456

输出样例:

123,456

时间限制:500ms内存限制:32000kb

#include 
char str[32];
char exchange(int a)
{
 int i=0,j=0;
 while(a)
     {
      j++;
      str[i++]=a%10+'0';
      if(j%3==0)
        str[i++]=',';
        a=a/10;
     }
 return i-1;
}
int main()
{
 int a,b;
 scanf("%d",&a);
 b=exchange(a);
 if(str[b]==',')
   b--;
 for(;b>=0;b--)
    printf("%c",str[b]);
 return 0;
}

 

你可能感兴趣的:(程序设计,c语言)