C语言问题: 函数fun的功能:将S所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所指数组中。
我用的是新思路计算机考试软件,每次在程序设计题中,我把答案写进去以后,评分都为零,这是为什么呢?下面这个程序中,我的fun函数编的对不对?运行出来后会出现乱码#inclu...
我用的是新思路计算机考试软件,每次在程序设计题中,我把答案写进去以后,评分都为零,这是为什么呢?
下面这个程序中,我的fun函数编的对不对?运行出来后会出现乱码
#include <stdio.h>
#include <string.h>
void fun(char *s, char t[])
{
int i,j=0;
for(i=0;i<strlen(s);i++)
{
if(i%2!=0)
t[j++]=s[i];
}
}
main()
{
char s[100], t[100];
void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
char s[100], t[100] ;
FILE *rf, *wf ;
int i ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%s", s);
fun(s, t);
fprintf(wf, "%s\n", t);
}
fclose(rf);
fclose(wf);
} 展开
下面这个程序中,我的fun函数编的对不对?运行出来后会出现乱码
#include <stdio.h>
#include <string.h>
void fun(char *s, char t[])
{
int i,j=0;
for(i=0;i<strlen(s);i++)
{
if(i%2!=0)
t[j++]=s[i];
}
}
main()
{
char s[100], t[100];
void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
char s[100], t[100] ;
FILE *rf, *wf ;
int i ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%s", s);
fun(s, t);
fprintf(wf, "%s\n", t);
}
fclose(rf);
fclose(wf);
} 展开
3个回答
推荐于2018-05-17 · 知道合伙人软件行家
关注
展开全部
你可在函数fun 最后加上
t[j]=0;
修改编码:
void fun(char *s, char t[])
{
int i,j=0;
for(i=0;i<strlen(s);i++)
{
if(i%2!=0)
t[j++]=s[i];
}
t[j]=0;
}
t[j]=0;
修改编码:
void fun(char *s, char t[])
{
int i,j=0;
for(i=0;i<strlen(s);i++)
{
if(i%2!=0)
t[j++]=s[i];
}
t[j]=0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*
Please enter string S:12345abcde
The result is: 24ace
Press any key to continue
*/
#include <stdio.h>
#include <string.h>
void fun(char *s, char t[]) {
int i,j = 0;
for(i = 0;i < strlen(s);i++) if(i%2) t[j++] = s[i];
t[j] = '\0'; // 这个语句是不能省的
}
int main() {
char s[100], t[100];
// void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
return 0;
// NONO();
}
Please enter string S:12345abcde
The result is: 24ace
Press any key to continue
*/
#include <stdio.h>
#include <string.h>
void fun(char *s, char t[]) {
int i,j = 0;
for(i = 0;i < strlen(s);i++) if(i%2) t[j++] = s[i];
t[j] = '\0'; // 这个语句是不能省的
}
int main() {
char s[100], t[100];
// void NONO ();
printf("\nPlease enter string S:"); scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
return 0;
// NONO();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询