内容发布更新时间 : 2024/11/1 6:55:20星期一 下面是文章的全部内容请认真阅读。
金陵科技学院实验报告
*k=i;
} }
return *k; } main() {
int a[10],k; int i,s;
printf(\ for(i=0;i<10;i++) { }
s=fun(a, 10, &k);
printf(\最大值的下标是%d\\n\ printf(\最大值是%d\\n\}
scanf(\
(2) 功能:编写函数void len_cat(char c1[],char c2[])将第二个串连接到第一个串之后,不允许使用strcat函数
#include
void len_cat(char c1[],char c2[]) {
int i=0,n=0; n=strlen(c1); while(c2[i]!=0) {
29
金陵科技学院实验报告
} main() { }
char a[N]=\len_cat(a,b);
printf(\新的字符串为:\puts(a); }
c1[n]='\\0';
c1[n++]=c2[i++];
(3) 功能:编写函数long fun ( char *p),将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如:若输入字符串\,则函数把它转换为整数值 1234。
#include
long fun ( char *p) {
long number=0,s=1; while(*p!='\\0') { }
return number; } main() {
char num[N]; long number;
printf(\请输入一组数字字符串:\
30
number=number*10+*p-'0'; p++;
金陵科技学院实验报告
gets(num);
number=fun(num);
printf(\请输出新的数字:%ld\\n\}
(4) 功能:编写函数int fun(char *ptr)过滤串,即只保留串中的字母字符,并统计新生成串中包含的字母个数作为函数的返回值。
#include
int n=0;
while(*ptr!='\\0') {
if((*ptr>='a'&&*ptr<='z')||(*ptr>='A'&&*ptr<='Z')) {
n++;
} ptr++;
} return n; } main() {
char a[N];
int n;
printf(\请输入一组字符串:\gets(a);
n=fun(a);
printf(\输入字符串中字母的个数是%d\\n:\}
31
金陵科技学院实验报告
(5)功能:编写函数void fun(char s[])将一个由四个数字组成的字符串转换为每两个数字间有一个空格的形式输出。
例如:输入“4567”,应输出“4□5□6□7”(□表示空格)。
#include
void fun(char s[]) {
int i,n; n=strlen(s);
for(i=n-1;i>0;i--) {
s[2*i]=s[i]; s[2*i-1]=' '; }
s[2*(n-1)+1]='\\0'; }
main() {
char num[N];
printf(\请输入一组数字字符串:\ gets(num); fun(num);
printf(\请输出新的数字:%s\\n\}
(6) 功能:编写函数void fun(char s[],char c)从字符串s中删除指定的字符c。 说明:该字符可能多次和连续出现,算法应全面考虑。
#include
void fun(char s[],char c) {
32
金陵科技学院实验报告
int i,k=0; } main() {
char a[N],ch;
printf(\请输入一组字符串:\gets(a);
for(i=0;s[i]!='\\0';i++) {
if(s[i]!=c) {
s[k++]=s[i];
}
}s[k]='\\0';
printf(\请输入删除的字符ch:\ }
scanf(\fun(a,ch);
printf(\删除字符%c后的字符串为:%s\\n\
五、实验体会(遇到问题及解决办法,编程后的心得体会)
(1)功能:请编写函数void fun(char (*s)[N], char *b),将M行N列的二维数组中的字符数据按列的顺序依次放到一个字符串中。
例如:二维数组中的数据为: W W W W S S S S H H H H
则字符串中的内容应是:WSHWSHWSHWSH。
#include
void fun(char (*s)[N], char *b) {
int i,j,k=0;
33