C语言程序设计实验报告 下载本文

内容发布更新时间 : 2024/12/22 21:13:27星期一 下面是文章的全部内容请认真阅读。

金陵科技学院实验报告

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 #include #define M 3 #define N 4

void fun(char (*s)[N], char *b) {

int i,j,k=0;

33

金陵科技学院实验报告

for(j=0;j

for(i=0;i

b[k++]=s[i][j]; } }

b[k]='\\0'; }

main() { char

a[100],b[M][N]={{'W','W','W'},{'S','S','S'},{'H','H','H'}};

int i,j;

printf(\原始数据是\\n\ for(i=0;i

for(j=0;j

printf(\ }

printf(\ }

fun(b,a);

printf(\字符串:\\n\ puts(a); }

(2)功能:编写函数void fun(char str[],int i,int n),从字符串str中删除第i个字符开始的连续n个字符(注意:str[0]代表字符串的第一个字符)。

#include #include #define N 20

void fun(char str[],int i,int n)

34

金陵科技学院实验报告

{

while(str[i+n-1]) { }

str[i-1]='\\0'; } main() {

char s[N]; int i,n;

printf(\请输入一组字符串:\ gets(s);

printf(\输入从第几个开始:\ scanf(\

printf(\输入删除几个字符:\ scanf(\ fun(s,i,n);

printf(\从第%d开始删除%d后的字符串为:%s\\n\}

str[i-1]=str[i+n-1]; i++;

(3)功能:编写函数void fun(char *s,char t[]),将s所指字符串中除了下标为奇数、

同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如:若s所指字符串中的内容为:\,其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是:\。

#include #include

35

金陵科技学院实验报告

#define N 20

void fun(char *s,char t[]) {

int i,j=0;

for( i=0;s[i]!='\\0';i++) {

if(i%2!=0&&(s[i]-'0')%2!=0) {

t[j++]=s[i];

} }

t[j]='\\0'; } main() {

char a[N],b[N];

printf(\请输入一组字符串:\ gets(a); fun(a,b);

printf(\下标为奇数且ASCII值也为奇数的字符:%s\\n\}

(4) 功能:请编写函数int fun( char *s),统计一行字符串中单词的个数作为函数值返回。规定所有单词由小写字母组成,单词之间由若干个空格隔开,一行的开始没有空格。

#include

#include #define N 200

int fun( char *s) {

int n=1;

while(*s!='\\0')

36