P80 例4-1 名和姓的对换问题。英国人和美国人姓名的书写形式是“名在前,姓在后”,但在有些情况下,需要把姓名写成“姓在前,名在后,中间加一个逗号”的形式。编写一个程序实现把“名在前,姓在后”的姓名

    科技2025-06-25  13

    P80 例4-1 名和姓的对换问题。英国人和美国人姓名的书写形式是“名在前,姓在后”,但在有些情况下,需要把姓名写成“姓在前,名在后,中间加一个逗号”的形式。编写一个程序实现把“名在前,姓在后”的姓名表示法转换成“姓在前,名在后,中间加一个逗号”的姓名表示法。

    #include<stdio.h> #include<string.h> void ReverseName(char *name,char *newName) { char *p; p=strchr(name,' '); *p='\0'; strcpy(newName,p+1); strcat(newName,","); strcat(newName,name); *p=' '; } int main() { char name[]="William Topp",newName[30]; ReverseName(name,newName); printf("ReverseName:%s",newName); return 0; }

    在VS2019下,需将源文件的strcpy和stract做一些修改,所以源文件为:

    #include<stdio.h> #include<string.h> void ReverseName(char *name,char *newName) { char *p; p=strchr(name,' '); *p='\0'; strcpy_s(newName,30,p+1); strcat_s(newName,30,","); strcat_s(newName,30,name); *p=' '; } int main() { char name[]="William Topp",newName[30]; ReverseName(name,newName); printf("ReverseName:%s",newName); return 0; }
    Processed: 0.012, SQL: 8