
及其简单的C语言习题。。急用。。
2、(35分)下面的程序的功能是将一字符串s中的内容倒置,如输入的字符串为abcdefg,则输出的字符串为gfedcba。输入并填空完善程序,源程序存入test32.c。...
2、(35分)下面的程序的功能是将一字符串s中的内容倒置,如输入的字符串为abcdefg,则输出的字符串为gfedcba。输入并填空完善程序,源程序存入test32.c。
#include<stdio.h>
#include<string.h>
void main()
{ void f(char *s);
char s1[80];
gets(s1);
f(____①_____);
puts(s1);
}
void f(char *s)
{ int i,k;
char t;
k=____②_____;
for(i=0;i<k/2;i++)
{ t=s[i]; ____③_____;s[k-i-1]=t;}
}
3、(30分)下面的程序的功能是:输入10个整数,用选择法将它们升序排序并输出。请输入并改正程序中带“*”的行中的错误,使它们能正确输出结果。源程序存入test33.c。
#include<stdio.h>
void main()
* { int a[],i,j,k,t,*p;
* p=&a;
for(i=0;i<10;i++)
scanf(“%d”,p++);
p=a;
for(i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;j++)
* if(*(p+j)<*(p+i))
k=j;
* if(k==i)
t=*(p+k),*(p+k)=*(p+i),*(p+i)=t;
}
for(i=0;i<10;i++)
printf(“%6d”,*(p+i));
printf(“\n”);
} 展开
#include<stdio.h>
#include<string.h>
void main()
{ void f(char *s);
char s1[80];
gets(s1);
f(____①_____);
puts(s1);
}
void f(char *s)
{ int i,k;
char t;
k=____②_____;
for(i=0;i<k/2;i++)
{ t=s[i]; ____③_____;s[k-i-1]=t;}
}
3、(30分)下面的程序的功能是:输入10个整数,用选择法将它们升序排序并输出。请输入并改正程序中带“*”的行中的错误,使它们能正确输出结果。源程序存入test33.c。
#include<stdio.h>
void main()
* { int a[],i,j,k,t,*p;
* p=&a;
for(i=0;i<10;i++)
scanf(“%d”,p++);
p=a;
for(i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;j++)
* if(*(p+j)<*(p+i))
k=j;
* if(k==i)
t=*(p+k),*(p+k)=*(p+i),*(p+i)=t;
}
for(i=0;i<10;i++)
printf(“%6d”,*(p+i));
printf(“\n”);
} 展开
2个回答
2010-05-20
展开全部
2.
第一空:s1
第二空:strlen(s)
第三空:s[i]=s[k-i-1]
3.
int a[],i,j,k,t,*p;
改为
int a[10],i,j,k,t,*p;
p=&a;
改为
p=&a[0];
if(*(p+j)<*(p+i))
改为
if(*(p+j)<*(p+k))
if(k==i)
改为
if(k!=i)
第一空:s1
第二空:strlen(s)
第三空:s[i]=s[k-i-1]
3.
int a[],i,j,k,t,*p;
改为
int a[10],i,j,k,t,*p;
p=&a;
改为
p=&a[0];
if(*(p+j)<*(p+i))
改为
if(*(p+j)<*(p+k))
if(k==i)
改为
if(k!=i)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询