一道C语言编程题 15
//编写escape(s,t)函数,将字符串t复制到字符串S后,复制过程中将t中换行符,制表符替换成字符可见的\n,\t,要求使用switch()。//以下我编的程序,查...
//编写escape(s,t)函数,将字符串t复制到字符串S后,复制过程中将t中换行符,制表符替换成字符可见的\n,\t,要求使用switch()。//以下我编的程序,查了很久不知道那里有问题,但是就是不能运行出正确结果。#include < stdio.h>#define MAX 100void escape(int s[],int t[]);main(){ int s[MAX],t[MAX]; int c,i,d,k; printf("s:\n"); for(i = 0;(c = getchar()) !=EOF;i++) s[i] = c; s[i] = '\0'; i++; d=i; printf("t:\n"); for(i = 0;(c = getchar()) != EOF;i++) { t[i] = c; } t[i] = '\0'; i++; k=i; return 0;}void escape( int s[],int t[]){ int i, j,d; i = j = 0; while (s[i] != '\0') ++i; while ((t[j]) != '\0') { switch(t[j]) { case '\t':s[i++] = '\\';s[i++]='t';break; case '\n':s[i++] = '\\';s[i++]='n';break; default:s[i++] = t[j];break; } j++; } s[i] = '\0'; for(d = 0;d<j;j++) printf("%3c",s[i]);}
展开
1个回答
展开全部
在vc6下调试通过。 #include"stdio.h" main() { int i,j,k,count=0; for(i=0;i<=30;i++) for(j=0;j<=30;j++) { k=30-i-j; if(3*i+2*j+k==50) { printf("man=%d,womian=%d,chlid=%d\n",i,j,k); count++; } } printf("共有%d组解\n",count); }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询