C语言改错题大神求解

1、改错题【程序功能】下列程序中函数fun的功能是:首先将s数组中的字符串按以下规则复制到t数组:已知n为数组元素下标值,对于n为奇数位置的字符复制n次,对于n为偶数位置... 1、 改错题
【程序功能】
下列程序中函数fun的功能是:
首先将s数组中的字符串按以下规则复制到t数组:已知n 为数组元素下标值,对于n为奇数位置的字符复制n次,对于n为偶数位置的字符只复制一次;之后再将t数组中的字符串逆置。
【测试数据与运行结果】
当s中的字符串为“ABCDEFG”,t中的字符串为“GFFFFFEDDDCBA” 当s中的字符串为“1234”,t中的字符串为“444321” 【含有错误的源程序】 #include <stdio.h> #include <conio.h> void fun(char s[],char t[]) {int i,k,n; char temp; n=0;
for(i=0;s[i]!='\0';++i) if(i%2=1) for(k=0;k<i;++k) {t[n]=s[i]; n++; }
else t[n]=s[i]; t[n]='\0';
for(i=0;i<(n-1)/2;i++) {temp=t[i]; t[i]=t[n-1-i]; t[n-1-i]=temp; } }
main()
{char s[20],t[100];
printf("\nPlease enter string s:"); gets(s);
fun(s[],t[]);
printf("The result is:%s\n",t); }
【要求】
1.将上述程序录入到文件myf1.c中,然后根据题目的要求以及程序中语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句的次序,增加少量的变量说明或编译

预处理命令(即#include等),但不能增加其他语句,也不能删去整条语句。
展开
 我来答
有种孤独叫寂寞
推荐于2016-11-01 · TA获得超过1284个赞
知道答主
回答量:58
采纳率:0%
帮助的人:39.6万
展开全部
void fun(char s[],char t[]) 
{
int i,k,n;  
char temp;  
n=0;
for(i=0;s[i]!='\0';++i)       
if(i%2==1)      //修改2,考常识,了解==和=区别            
for(k=0;k<i;++k)       
{
t[n]=s[i];        
n++;       

else 
t[n++]=s[i];   //修改3,考逻辑,n没有自加      
t[n]='\0'; 
for(i=0;i<(n+1)/2;i++)   //修改4,考数学,n-1改成n+1取整奇数会少1
{
temp=t[i];    
t[i]=t[n-1-i];    
t[n-1-i]=temp;   


void main(void) //这个地方不一定要改,老编译器允许这种不好的风格
{
char s[20],t[100]; 
printf("\nPlease enter string s:");  
gets(s); 
fun(s,t);     //修改1,考基础,用时不要加[]
printf("The result is:%s\n",t); 
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式