将字符串1的第1 3 5 7 9 位置的字符复制到字符串2并输出,编程。

#include <conio.h>
#include <stdio.h>
void fun(char str1[],char str2[])
{
/***********begin***********/

/************end************/
}
main()
{ char str1[80]="This Is a c Program",str2[80];
clrscr();
printf("String is: %s\n",str1);
fun(str1,str2);
printf("Result is: %s\n",str2);
NONO( );
}

NONO( )
{ FILE *fr,*fw;
int i;
char s1[80],s2[80];
fr=fopen("D:\\exam\\03400105\\PROGIN.DAT","r");
fw=fopen("D:\\exam\\03400105\\PROGOUT.DAT","w");
for(i=1;i<=5;i++)
{ fgets(s1,80,fr);
fun(s1,s2);
fprintf(fw,"%s\n",s2);
}
fclose(fr);
fclose(fw);
}

第1个回答  2011-05-27
到底是 1, 3, 5, 7,... 还是 0, 2, 4, 6, .... c 里面开头位置是 0.....
就按 1, 3, 5, 7 吧
// begin
int i;
for ( i = 1; str1 [ i - 1 ] && str1 [ i ]; i += 2 )
str2 [ i>>1 ] = str1 [ i ];
str2 [ (i>>1) + 1 ] = '\x00';
// end
第2个回答  推荐于2016-06-30
#include <conio.h>
#include <stdio.h>
void fun(char str1[],char str2[])
{
int i,j;
j=0;

for(i=0;str1[i];i++)
{
if(i% 2!=0)
{
str2[j]=str1[i];
j++;
}
}
str2[j]='\0';
}
main()
{ char str1[80]="This Is a c Program",str2[20];
// clrscr();
printf("String is: %s\n",str1);
fun(str1,str2);
printf("Result is: %s\n",str2);

}本回答被提问者采纳
第3个回答  2011-05-27
1 3 5 7 9 11 13
相似回答
大家正在搜