问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:吴胜男
*完成日期:2014年12月19日
*版本号:v1.0
*
*问题描述:输入一个字符串,将其重复若干次,例如,输入goal和5,得到的就是球迷的欢呼:goalgoalgoalgoalgoal。
*输入描述:一个待重复的字符串,重复的次数
*程序输出:重复后的文字
*/
#include <iostream>
#include <cstdio>
using namespace std;
void strcopy(char*,char*,int);
int main( )
{
char str1[80];
char str2[80];
int n;
gets(str1);
cin>>n;
strcopy(str2,str1,n);
cout<<str2<<endl;
return 0;
}
void strcopy(char*str2,char*str1,int n)
{
int i;
char *q=str2;
for(i=0;i<n;i++)
{
char *p=str1;
while(*p!='\0')
*q++=*p++;
}
*q='\0';
return ;
}
运行结果:
知识点总结:在重复字符串的自定义函数的for循环语句中写入char *p=str1;使*p再次指向str1这样才能在for 循环时,重复的把str1的值赋给str2,这样在str2中才有n个重复值。
学习心得:虽然我没有写出这个程序,但是我通过问别人,知道怎样编译,以及原理,相信自己能够掌握这种方法。