例题:下列给定程序中,函数fun的功能是:在字符串的最前端加入n个“*”号,形成新串,并且覆盖原串。
例如:输入的字符串为“asdfg”,n为8,则输出为********asdfg
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。字符串的长度最长允许为79。
代码如下:
#include<stdio.h>
#include<string.h>
#include<conio.h>
void fun(char str[],int n)
{
char a[80],*p;
int i;
p=str;
for(i=0;i<n;i++)
a[i]='*';
do
{
a[i]=*p;
i++;
p++;
}while(*p);
a[i]='\0';
strcpy(str,a);
}
main()
{
int n;
char str[80];
printf("\nEnter a string:");
gets(str);
printf("\nThe string %s\n",str);
printf("\nEnter n(number of*):");
scanf("%d",&n);
fun(str,n);
printf("\nThe string after inster:%s\n",str);
}
输出运行窗口如下:
本周其他练习
C语言编程>第十七周 ① 请补充main函数,该函数的功能是:从字符串 s中取出所有数字字符,并分别计数,把结果保存在数组a中并输出,把其它字符保存在a[10]中。
C语言编程>第十七周 ② 下列给定程序中,函数fun的功能是:从str所指字符串中,找出s所指子串的个数作为函数值返回。
C语言编程>第十七周 ③ 请补充fun函数,该函数的功能是:先将在字符串str中的字符串按 逆序存放在t 中,然后把str中的字符按正序连接到t的后面。
C语言编程>第十七周 ④ 下列给定程序中,函数fun的功能是:在字符串的最前端加入n个“*”号,形成新串,并且覆盖原串。
C语言编程>第十七周 ⑤ 请补充fun函数,该函数的功能是:用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元。
C语言编程>第十七周 ⑥ 下列给定程序中,函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。
C语言编程>第十七周 ⑧ 下列给定程序中,函数fun的功能是:逐个比较x、y两个字符串对应位置中的字符,把ASCII相等或值小的字符依次存放在z数组中,形成一个新的字符串。
越努力越幸运!
加油,奥力给!!!