程序调试
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 *****/"的下
一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)
该程序功能:输入n(0<n<10)后,输出1个数字金字塔。如输入n为4,
则输出:
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小时内删除。
发表评论