6-1 输出指定部分数字

本题要求实现一个函数,可输出指定部分的数字。例如输入一个整数1234567,并输入指定输出位置为2,5,则函数返回从第2个到第5个的数字,即返回2345,输入数据有误时(输入负数或者位置有误)输出“ERROR”。

函数接口定义:

int Specify_Number ( int Number, int start,int end );

在这里解释接口参数。例如:其中 Number 、 start 和 end 都是用户传入的参数。 Number 的值不超过int的范围;start 和 end 的值不超过Number的数字个数范围。函数须返回 Number 中从 start 到 end 的数字。

裁判测试程序样例:

#include 

int Specify_Number ( int Number, int start, int end );

int main()
{

  int N, start, end, New_N;

  scanf("%d %d %d", &N, &start, &end);
  
  New_N = Specify_Number(N, start, end);
  
  if(New_N)

      printf("%d", New_N);
      
  else
  
      printf("ERROR");

  return 0;

}



/* 请在这里填写答案 */

输入样例1:

1234567 2 5

输出样例1:

2345

输入样例2:

123 2 5

输出样例2:

ERROR

 


 难就难在是函数题,输入不是数组,不能方便的用指针输出


 

 

#include 

int Specify_Number (int Number,int start,int end)
{	
    int new=0;                 //所需数字
    int wei = end - start + 1; //需要输出的位数
	int a=Number,i;            
    
	for(i=0;a!=0;i++)  //判断写入数字的总位数
    {
		a=a/10;
	}
    
    if (i<=wei-1)     //判断是否error
        return 0;
    
	int s[i];          //倒序写入一个数组里面
	for(int j=0;j

你可能感兴趣的:(PTA,c语言)