编了个C++程序没达要求,望高手指教,谢

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:03:43
要求:编写通常接受一个参数(字符串地址),并打印该字符串的函数。不过,如果提供了第二个参数(INT 类型),且该参数不为0,则该函数打印该字符串的次数将为该函数调用的次数(注意,字符串的打印次数不等于第二个参数的值,而等于函数被调用的次数)。函数有点怪,忘高手指教哪有错误。
#include <iostream>
using namespace std;
int cishu=1; //记录函数被调用次数
void youyisi (const char arr[],int n=0); //默认参数为0
int main()
{
for (;;)
{
char str[50];
cin.getline(str,50);
int n;
n=cin.get();
youyisi(str,n);
}
return 0;
}
void youyisi (const char arr[],int n)
{
if (n==0)
{
cout<<arr;
cishu++;
}
else
{
for (int s=0;s<cishu;s++)
cout<<arr;
cishu++;
}
}

正好也在做这题,给你贴下我写的吧,和你的方法有点不同。
#include<iostream>
using namespace std;
void show_char(char * ch, int n=0);

int main()
{
char ch[30] = "Hello World";
for (int i=0; i<5; i++)
{
show_char(ch, i);
cout<<endl;
}
return 0;
}

void show_char(char * ch, int n)
{
if(n==0)
cout<<ch<<endl;
else
while(n>0)
{
cout<<ch<<endl;
n--;
}
}

稍微给改了下 07年的啊 我去
#include <iostream>
using namespace std;
int cishu=1; //记录函数被调用次数
void youyisi (const char arr[],int n=0); //默认参数为0
int main()
{
for (;;)
{
char str[50];
cout << "请输入一串字符串:";
cin.getline(str,50);
int n;
cout << "请输入一个数字";
cin >> n; // cin.get