程序调试
1、
#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[s1-1-i];
    t[sl+i]=s[sl-i];
  /********2********/
  t[sl]="\0";           // t[sl+s1]=’\0’;
}
void main()
{
  char s[100],t[100];
  scanf("%s",s);
  fun(s,t);
  printf("%s",t);
}
2、
#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++;
}
3、
#include <stdio.h>
#include <math.h>
void main()
{  int n,s=0;
    scanf("%d",&n);
    n=fabs(n);
    /******** 1 *******/ 
    while(n>1) {          //  1}n  2}n!=0
        s=s+n%10;
        /******** 2 ******/ 
        n=n%10;     // n=n/10;
    }
    printf("%d\n",s);
}
4、
#include<stdio.h>
void itoa(long i,char *s)
{
    if(i==0)
        return;
    /****** 1 ******/
  *s = '1'+i%10;  //*s = '0'+i%10;
    itoa(i/10,s-1);
}
void main()
{
    long n;
    char str[7]="";
    scanf("%ld",&n);
    /****** 2 ******/
  itoa(n,str+6);  // itoa(n,str+5);
    printf("%s",str);
}
5、
#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[i]; a[i]=temp;
    }
    printf("\nThe sorted numbers: \n");  /* 输出排序结果 */
    for (i=0;i<N;i++)
        printf("%5d",a[i]);
    printf("\n");
}
6、
#include <stdio.h>
void main()
{
    char s1[80],s2[40];
    int i=0,j=0;
    printf("\nInput the first string:");
    scanf("%s",s1);
    printf("\nInput the second string:");
    scanf("%s",s2);
    while (s1[i] !='\0')
    /****** 1 ******/   
      i+1;       // i= i+1;
    while (s2[j] !='\0')
    /****** 2 ******/ 
        s1[++i]=s2[++j];      /* 拼接字符到s1  */  //s1[i++]=s2[j++];
    s1[i] ='\0';
    printf("\nNew string: %s",s1);
}
}
7、
#include <stdio.h>
void main()
{  int i,a,n,t=0;
      /***** 1 *****/
s=0;                      // int 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("%d\n",s);
}
8、
#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);
}
9、
#include <stdio.h>
void main()
{  float x,max,min;  int i;
    /******** 1 *******/
    for(i=0;i<=10;i++) {    // i<10 循环的个数不对,如果i<=10话则i=1;那下面的应改为i==1
        scanf("%f",&x);
        /******* 2 ********/
        if(i=1) { max=x;min=x;} // i==0 保证第一次时条件成立
        if(x>max) max=x;
        if(x<min) min=x;
    }
    printf("%f,%f\n",max,min);
}
10、. 在考生目录下,有Modify.c程序,该程序中"/***** N *****/"的下
一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。
#include <stdio.h>
#include <ctype.h>
void main()
{    char a[80]; int n[5]={0},i;
gets(a);
      for(i=0; a[i]!=’\0’; i++) 
            /***** 1 *****/
        switch(tolower(a+i)) {        // (tolower(a[i]))
            case 'a': n[0]++; break;
      case 'e': n[1]++; break;
      case 'i': n[2]++; break;
c编程网      case 'o': n[3]++; break;
      /***** 2 *****/
      case 'U': n[4]++; break;    //  ‘u’
    }
    for(i=0;i<5;i++) printf("%d\n",n[i]);
    }
11、在考生目录下,有Modify.c程序,该程序中"/***** N *****/"的下
一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)
该程序功能:输入n0<n<10)后,输出1个数字金字塔。如输入n4
则输出:
1
                222
              33333
              4444444
#include <stdio.h>
void main()
{    int i,j,n;
  /***** 1 *****/
  scanf("%d", n);            //  &n
  for(i=1;i<=n;i++)    {
for(j=1;j<=n+1-i;j++)
putchar(' ');
            for(j=1;j<=2*i-1;j++)
                putchar((char)(i+48));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。