差不多是第一次学会用memset把,题目的解法,就是分开读取字符串,每一次读取到‘<’‘>’的时候停止,然后再根据规律,交换<>中的内容输出 mamset()函数的用法,mamset包含三个参数,第一个表示,数组的首地址,第二个表示将要赋给数组的值,第三个表示要赋给几个。 memset(a,'1',5);把a数组中的5个值设为字符‘1’,注意是字符1而不是数字1 # include <stdio.h> # include <string.h> # define N 120 int main(void) { char one[N], one1[N], one2[N], temp1[N], temp2[N], two[N], c; int n, i, k; scanf("%d",&n); while(n--) { memset(one, 0, sizeof(one)); memset(one1, 0, sizeof(one1)); memset(two, 0, sizeof(two)); memset(one2, 0, sizeof(one2)); memset(temp1, 0, sizeof(temp1)); memset(temp2, 0, sizeof(temp2)); getchar(); for(i=0,c=getchar();c!='<';i++) { one[i]=c; c=getchar(); } one[i] = '\0'; for(i=0,c=getchar();c!='>';i++) { temp1[i]=c; c=getchar(); } temp1[i] = '\0'; for(i=0,c=getchar();c!='<';i++) { one1[i]=c; c=getchar(); } one1[i] = '\0'; for(i=0,c=getchar();c!='>';i++) { temp2[i]=c; c=getchar(); } temp2[i] = '\0'; for(i=0,c=getchar();c!='\n';i++) { one2[i]=c; c=getchar(); } one2[i] = '\0'; for(i=0,c=getchar();c!='.';i++) { two[i]=c; c=getchar(); } two[i] = '\0'; c = getchar(); c = getchar(); printf("%s%s%s%s%s\n", one, temp1, one1, temp2, one2); printf("%s%s%s%s%s\n", two, temp2, one1, temp1, one2); } return 0; }
UVA 10361
最新推荐文章于 2021-07-28 10:20:53 发布