1.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:將字符串s中所有的字符'c'刪除。
#include <stdio.h>
void main()
{ char s[80];
int i,j;
gets(s);
for(i=j=0;____ 1_ ____;i++) s[i]!=’\0’
if(s[i] != 'c')
{ s[j]=s[i];
______2______ j++;}
s[j]='\0';
puts(s);
}
2.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:輸入三個整數,按由小到大的順序輸出這三個數。
#include <stdio.h>
void swap(______1______) int *pa,int *pb
{ /*交換兩個數的位置*/
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
void main()
{
int a,b,c,temp;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
swap(&a,&b);
if(b>c)
swap(&b,&c);
if(______2______) a>b
swap(&a,&b);
printf("%d,%d,%d",a,b,c);
}
3.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“***** N *****”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能: 輸入壹個字符串,將組成字符串的所有字符先按順序存放到字符串t中,再將字符串中的字符按逆序連接到字符串t * 後面。例如:輸入"ABCD",則字符串t為"ABCDDCBA"。
# include <stdio.h>
# include <string.h>
void fun(char *s,char *t)
{
int i,sl;
sl=strlen(s);
for(i=0;i<sl;i++)
t[i]=s[i];
for(i=0;i<sl;i++)
/********1********/
t[sl+i]=s[sl-i]; 改為:t[sl+i]=s[sl-i-1];
/********2********/
t[sl]="\0"; 改為:t[2*sl]=’\0’;
}
void main()
{
char s[100],t[100];
scanf("%s",s);
fun(s,t);
printf("%s",t);
}
4.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“***** N *****”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:
輸入壹個字符串,將組成字符串的所有非英文字母的字符刪除後輸出。
例如:輸入"abc123+xyz.5",應輸出"abcxyz"。
#include <stdio.h>
#include <string.h>
void main()
{
char str[256];
int i,j,k=0,n;
gets(str);
n=strlen(str);
for(i=0;i<n;i++)
/********1********/
if (tolower(str[i])<'a' || tolower(str[i])>'z') 改為:tolower(str[i])>='a' && tolower(str[i])>='z'
{
/********2********/
str[n]=str[i]; n++; 改為:str[k]=str[i]; k++;
}
str[k]='\0';
printf("%s\n",str);
}
5.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:調用函數f計算代數多項式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x
當x=1.7時的值。
#include <stdio.h>
float f(float,float*,int);
void main()
{ float b[5]={1.1,2.2,3.3,4.4,5.5};
printf("%f\n",f(1.7,b,5));
}
float f( _______1________ ) float x,float a[],int n
{ float y=a[0],t=1; int i;
for(i=1;i<n;i++) { t=t*x; y=y+a[i]*t; }
_____2_____ return y;
}
6.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“***** N *****”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:
將輸入的十進制整數n通過函數DtoH轉換為十六進制數,並將轉換結果以字符串形式輸出。 例如:輸入十進制數79,將輸出十六進制4f。
# include <stdio.h>
# include <string.h>
char trans(int x)
{
if(x<10) return '0'+x;
/********1********/
else return 'a'+x; 改為:else return 'a'+x-10;
}
int DtoH(int n,char *str)
{
int i=0;
while(n!=0)
{
str[i]=trans(n%16);
/********2********/
n%=16; 改為:n/=16;
i++;}
return i-1;
}
void main()
{
int i,k,n;
char *str;
scanf("%d",&n);
k=DtoH(n,str);
for (i=0;i<=k;i++) printf("%c",str[k-i]);
}
7.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:數列的第1、2項均為1,此後各項值均為該項前二項之和。計算數列第30項的值。
#include <stdio.h>
_______1______ long f(int n);
void main()
{
printf("%ld\n",f(30));
}
long f(int n)
{
if( ______2______ ) n==1||n==2
return 1;
else
return f(n-1)+f(n-2);
}
8.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:輸入1個整數後,輸出該數的位數(若輸入3214則輸出4,輸入-23156則輸出5)。
#include <stdio.h>
void main()
{ int n,k=0;
scanf("%d",&n);
while( _____1_____ ) n!=0
{
k++;
_____2_____; n/=10
}
printf("%d\n",k);
}
9.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:調用函數f,從字符串中刪除所有的數字字符。
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void f(char *s)
{ int i=0;
while(s[i]!='\0'){
if(isdigit(s[i])) ____1____(s+i,s+i+1); strcpy
___2___ i++;} else
}
void main()
{ char str[80];
gets(str); f(str); puts(str);
}
10.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:分別統計字符串中英文字母、數字和其他字符出現的次數。
#include <stdio.h>
#include <ctype.h>
void main()
{ char a[80]; int n[3]={0},i; gets(a);
________1________ for(i=0;a[i]!=’\0’;i++)
{if (tolower(a[i])>='a' && tolower(a[i])<='z') /*統計字母個數*/
n[0]++;
else if (________2________) /*統計數字個數*/ a[i])>='0' && a[i] <='9'
n[1]++;
else
n[2]++;
}
for(i=0;i<3;i++) printf("%d\n",n[i]);
}
11.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/***** N ***** /”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:運行時若輸入a、n分別為3、6,則輸出下列表達式的值:
3+33+333+3333+33333+333333
#include <stdio.h>
void main()
{ int i,a,n; long t=0;
/********* 1 *******/
s=0; 改為:long s=0;
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++) {
/******* 2 ******/
t=t*10+i; 改為:t=t*10+1;
s=s+t;
}
s=s*a;
printf("%ld\n",s);
}
12.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:求輸入的整數各位數字之和,如輸入234則輸出9,輸入-312則輸出6。
#include <stdio.h>
#include <math.h>
void main()
{
int n,s=0;
scanf("%d",&n);
______ 1 ______n=n>0?n:-n;
while(n!=0) {
______ 2 ______s+=n%10;
n=n/10;
}
printf("%d\n",s);
}
13.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:
找出100~999之間所有的Armstrong數。所謂Armstrong數是指這個3位數各位上數字的立方和等於自身。例如:371=3*3*3+7*7*7+1*1*1,那麽371就是Armstrong數。
#include <stdio.h>
#include<math.h>
void main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
_______1_______ b=(i/10)%10;
c=i%10;
if (________2________) i==a*a*a+b*b*b+c*c*c
printf("%d is a Armstrong number!\n",i);
}
}
14.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:輸入的壹個小寫字母,將字母循環後移5個位置後輸出,如’a’變成’f’, ‘w’變成’b’。
#include <stdio.h>
void main()
{
char c;
c=getchar();
if(______1______) c>='a' && c<='u'
c=c+5;
else
if (c>='v' && c<='z')
______2______ c=c-21;
putchar(c);
}
15.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:對x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。
#include <stdio.h>
#include <math.h>
#define f(x) x*x-5*x+sin(x)
void main()
{ int x; float max;
______1______ max=f(1);
for(x=2;x<=10;x++)
______2______ if(f(x)>max)max=f(x);
printf("%f\n",max);
}
16.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:調用函數f,將1個整數首尾倒置,若程序輸入12345,則輸出54321;
若程序輸入-34567,則輸出-76543。
#include <stdio.h>
#include <math.h>
long f(long n)
{ long m,y=0; m=fabs(n);
while(m!=0) {
y=y*10+m%10;
____1____ m/=10;
}
if(n>=0) return y;
else _____2_____ return -y;
}
void main()
{
printf("%ld\t",f(12345)); printf("%ld\n",f(-34567));
}
17.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能: 求出a中各相鄰兩個元素的和,並將這些和存放在數組 b中,按每行3個元素的形式輸出。例如: b[1]=a[1]+a[0],…………,b[9]=a[9]+a[8]。
#include <stdio.h>
void main()
{
int a[10],b[10],i;
printf("\nInput 10 numbers: ");
for (i=0; i<10;i++) /* 數組輸入 */
scanf("%d", &a[i]);
for (i=1; i<10; i++)
b[i]=______1______; b[i]=a[i]+a[i-1] /* 計算b數組中的元素 */
for (i=1; i<10; i++)
{
printf("%3d",b[i]);
if (______2______) printf("\n"); i%3==0 /* 每行打印3個數據 */
}
}
18.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:輸入m、n(要求輸入數均大於0),輸出它們的最大公約數。
#include <stdio.h>
void main()
{ int m,n,k;
while(scanf("%d%d",&m,&n), _______1______ ); m<=0||n<=0
for( ____2____; n%k!=0||m%k!=0; k--); k=m>n?n:m
printf("%d\n",k);
}
19.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/***** N ***** /”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。該程序功能:輸入x和正數eps,計算多項式1-x+x*x/2!-x*x*x/3!+...的和直到末項的絕對值小於eps為止。
#include <stdio.h>
#include <math.h>
void main()
{ float x,eps,s=1,t=1,i=1;
scanf("%f%f",&x,&eps);
do {
/***** 1 *****/
t=t*x/++i; 改為:t= -t*x/i++;
s+=t;
/***** 2 *****/
} while(fabs(t)<eps) 改為:while(fabs(t)>=eps) ;
printf("%f\n",s);
}
*20.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/***** N ***** /”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:用選擇法對10個整數按升序排序。
#include <stdio.h>
#define N 10
void main()
{
int i,j,min,temp;
int a[N]={5,4,3,2,1,9,8,7,6,0};
printf("\nThe array is:\n"); /* 輸出數組元素 */
for (i=0;i<N;i++)
printf("%5d",a[i]);
for (i=0;i<N-1;i++) /* 排序操作 */
{
min = i;
for (j=i+1; j<N; j++)
/****** 1 ******/
if (a[min]<=a[j]) min =j; 改為:if (a[min]<=a[j]) {
/****** 2 ******/
temp=a[min]; a[min]=a[j]; a[j]=temp; /*數據交換*/ 改為:temp=a[min]; a[min]=a[j]; a[j]=temp;}
}
printf("\nThe sorted numbers: \n"); /* 輸出排序結果 */
for (i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
}
*27.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:調用函數f,求二維數組a中全體元素之和。
#include <stdio.h>
float f(_______1______) float **x,int m,int n
{ float y=0; int i,j;
for(i=0;i<m;i++) for(j=0;j<n;j++) y=y+*(*(x+i)+j);
return y;
}
void main()
{ float a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3];
int i;
for(i=0;i<3;i++)_______2______ b[i]=a[i];
printf("%.2f\n",f(b,3,4));
}
2、在考生文件夾的Paper子文件夾下已有Modify1.c文件。
該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充。
(註意:不得加行、減行、加句、減句,否則後果自負)。
程序功能:該程序計算四位學生的平均成績,保存在結構中,然後列表輸出這些學生
的信息。
#include <stdio.h>
struct STUDENT
{
char name[16];
int math;
int english;
int computer;
int average;
};
void GetAverage(struct STUDENT *pst) /* 計算平均成績 */
{
int sum=0;
sum = ______1______; pst-> math+ pst-> english + pst-> computer
pst->average = sum/3;
}
void main()
{
int i;
struct STUDENT st[4]={{"Jessica",98,95,90},{"Mike",80,80,90},
{"Linda",87,76,70},{"Peter",90,100,99}};
for(i=0;i<4;i++)
{
GetAverage(______2______); &st[i]
}
printf("Name\tMath\tEnglish\tCompu\tAverage\n");
for(i=0;i<4;i++)
{
printf("%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].math,st[i].english,
st[i].computer,st[i].average);
}
}
程序調試題(2)
說明:修改或填空內容在相應位置後用紅色標識
*21.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/***** N ***** /”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:輸入n以及小於n個字符的字符串,將字符串中所有小寫字母改為相應的大寫字母後,輸出該字符串。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void main()
{ int n,i;
/***** 1 *****/
char str; 改為: char *str;
scanf("%d\n",&n); str=(char*)malloc(n); gets(str);
/***** 2 *****/
for(i=1;i<strlen(str);i++) 改為:for(i=0;i<strlen(str);i++)
if(str[i]>='a'&& str[i]<='z') str[i]=str[i]-('a'-'A');
puts(str);
}
*22.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/***** N ***** /”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:將壹個char型數的高4位和低4位分離,分別輸出,如22(二進制:00010110)輸出為1和6。
#include <stdio.h>
void main()
{
char a,b1,b2,c;
scanf("%d",&a);
/****** 1 ******/
b1=a<<4; 改為:b1=a>>4; /*b1存放高4位*/
c=~(~0<<4);
/****** 2 ******/
b2=a|c; 改為:b2=a&c; /*b2存放低4位*/
printf("%d,%d",b1,b2);
}
*23.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:調用函數f用以求1元2次方程 x*x+5*x-2=0 的實根。
#include <stdio.h>
#include <math.h>
int f(_______1______) float *x1,float *x2, float a, float b, float c
{ if(b*b-4*a*c<0) return 1;
*x1=(-b+sqrt(b*b-4*a*c))/2/a;
*x2=(-b-sqrt(b*b-4*a*c))/2/a;
_______2______
}
void main()
{ float u1,u2; float a=1,b=5,c=-2;
if(f(_______3______)==1) &u1,&u2,a,b,c
printf("實數範圍內無解\n");
else printf("%.2f%.2f\n",u1,u2);
}
*24.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:函數f將數組循環左移k個元素,數組x[7]調用函數f後的輸出結果為:4 5 6 7 1 2 3
#include <stdio.h>
void f(int *a,int n,int k)
{ int i,j,t;
for(i=0;i<k;i++) {
_______1______ t=a[0];
for(_______2______) j=1;j<n-1;j++
a[j-1]=a[j];
a[n-1]=t;
}
}
void main()
{ int i,x[7]={1,2,3,4,5,6,7};
f(x,7,3);
for(i=0;i<7;i++) printf("%5d",x[i]); printf("\n");
}
25.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/***** N ***** /”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:運行時輸入n,輸出n各位數字之和(如n=1308則輸出12,n=-3204則輸出9)。
#include <stdio.h>
#include <math.h>
void main()
{ int n,s=0;
scanf("%d",&n);
n=fabs(n);
/******** 1 *******/
while(n<0){ 改為:while(n>0) {
s=s+n%10;
/******** 2 ******/
n=n%10; 改為:n=n/10;
}
printf("%d\n",s);
}
26.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:輸入整數n(n>0),求m使得 2的m次方小於或等於n、2的m+1次方大於或等於n。
#include <stdio.h>
void main()
{ int m=0,t=1,n;
while(_______1______); scanf(“%d’,&n),n<=0
while(!(t<=n&&t*2>=n)){
_______2______ t=t*2;
m++;
}
printf("%d\n",m);
}
*27.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:調用函數f,求二維數組a中全體元素之和。
#include <stdio.h>
float f(_______1______) float **x,int m,int n
{ float y=0; int i,j;
for(i=0;i<m;i++) for(j=0;j<n;j++) y=y+*(*(x+i)+j);
return y;
}
void main()
{ float a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},*b[3];
int i;
for(i=0;i<3;i++)_______2______ b[i]=a[i];
printf("%.2f\n",f(b,3,4));
}
28.在考生目錄的Paper子目錄下,有Modify.c文件,該文件中“/***** N ***** /”的下壹行中有錯誤,請改正(註意:不得加行、減行、加句、減句,否則後果自負)。
該程序功能:輸入n,再輸入n個點的平面坐標,然後輸出那些距離坐標原點不超過5的點的坐標值。
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void main()
{
int i,n;
/***** 1 *****/
struct axy { float x,y; } a; 改為:struct axy { float x,y; } *a;
scanf("%d",&n);
a=(float*) malloc(n*2*sizeof(float));
for(i=0;i<n;i++)
/***** 2 *****/
scanf("%f%f",a[i].x,a[i].y); 改為:scanf("%f%f",&a[i].x,&a[i].y);
for(i=0;i<n;i++)
if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<=5)
printf("%f,%f\n",a[i].x,a[i].y);
}
增加新題(程序調試題):
1、在考生文件夾的Paper子文件夾下已有Modify1.c文件。
該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充。
(註意:不得加行、減行、加句、減句,否則後果自負)。
程序功能:調用函數f,去除數組中的負數,輸入數組x[7],輸出結果為:1 3 4 6
#include <stdio.h>
void f(int *a,int *m)
{ int i,j;
for(i=0;i<*m;i++)
if(a[i]<0) {
for(j=i--;j<*m-1;j++) a[j]=a[j+1];
_____1_____; (*m)--
}
}
void main()
{ int i,n=7,x[7]={1,-2,3,4,-5,6,-7};
_______2_______; f(x,&n)
for(i=0;i<n;i++) printf("%5d",x[i]);
printf("\n");
}
2、在考生文件夾的Paper子文件夾下已有Modify1.c文件。
該文件中"____ N ____"是根據程序功能需要填充部分,請完成程序填充。
(註意:不得加行、減行、加句、減句,否則後果自負)。
程序功能:該程序計算四位學生的平均成績,保存在結構中,然後列表輸出這些學生
的信息。
#include <stdio.h>
struct STUDENT
{
char name[16];
int math;
int english;
int computer;
int average;
};
void GetAverage(struct STUDENT *pst) /* 計算平均成績 */
{
int sum=0;
sum = ______1______; pst-> math+ pst-> english + pst-> computer
pst->average = sum/3;
}
void main()
{
int i;
struct STUDENT st[4]={{"Jessica",98,95,90},{"Mike",80,80,90},
{"Linda",87,76,70},{"Peter",90,100,99}};
for(i=0;i<4;i++)
{
GetAverage(______2______); &st[i]
}
printf("Name\tMath\tEnglish\tCompu\tAverage\n");
for(i=0;i<4;i++)
{
printf("%s\t%d\t%d\t%d\t%d\n",st[i].name,st[i].math,st[i].english,
st[i].computer,st[i].average);
}
}
3、在考生文件夾的Paper子文件夾下已有Modify1.c文件。
該文件中“/***** N ***** /”的下壹行中有錯誤,請改正。
(註意:不得加行、減行、加句、減句,否則後果自負)。
程序功能:運行時輸入n,輸出n的所有質數因子。
(例如:n=13860,則輸出2、2、3、3、5、7、11)
#include <stdio.h>
void main()
{ int n,i;
scanf("%d",&n);
/****** 1 ******/
i=1; 改為: i=2;
while(n>1)
if(n%i==0) {
printf("%d\t",i);
n/=i;
}
else
/******** 2 *******/
n++; 改為: i++;
}