C语言程序设计实验七答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b[k]='\0';
}
printf("a=%s\n",a);
printf("b=%s\n",b);
}
②下列给定程序中, 函数fun的功能是: 依次取出字符串中所有数字字符, 形成新 的字符串, 并取代原字符串。 请改正函数fun中的错误, 使它能得出正确的结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构!
void fun(char *s)
{
int i,j;
for(i=0,j=0;s[i]!='\0';i++)
编程题1
请编一个函数fun(char*s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容, 仅在函数fun的花括号中填入所编写的若干语句。
实验七 字符与字符串处理
一、实验目的与要求
1.掌握C语言字符型数据的概念,理解字符型与整型数据之间的关系。
2.掌握字符的输入与输出。
3.掌握转义字符常量、字符串常量的使用。
4.掌握字符、字符串与字符数组的输入与输出。
5.掌握字符串函数的使用 字符串数组的使用。
6.实验课时2学时
二、实验内容
1
① 调试下列程序,使之具有如下功能:任意输入两个字符串(如:"ningbo"和"china"), 并存放在a,b两个数组中。然后把较短的字符串放在a数组,较长的字符串放在b数 组。并输出。程序中的strlen是库函数, 功能是求字符串的长度,它的原型保存在头 文件""中。调试时注意库函数的调用方法,不同的字符串输入方法,通过错误提示发 现程序中的错误。
提示发现程序中的错误。
#include <>
#include<>
void main()
{
char a[10],b[10],ch;
int c,d,k;
scanf("%s",&a);
scanf("%s",&b); /* error */
printf("a=%s,b=%s\n",a,b);
c=strlen(a);d=strlen(b);
prin tf("\wk.baidu.com");
printf ("变换后:");
puts (a);
prin tf("\n");
}
(1) (2)
答:
#in clude<> void main()
{
int x,i,j,a='A',b;
printf("输入行数:\n"); scanf("%d",&x);
for(i=0;i<x;i++)
#include<>
void fun(char *s)
{
int i,j;
for(i=0;j=0;s[j]!='\0';i++)/*error*/
if(s[i]>='0'&&s[i]<='9')
s[j++]=s[i];
s[j]=”\0”;/*error*/
}
void main()
{
char item[80];
printf("\nEnter a string:");
gets(item);
printf("\n\nThe string is:%s\n",item);
fun(item);
printf("\n\nThe string of changing is:%s\n",item);
}答:
#include<>
#include<>
#include<>
#define N81
void fun(char s[])
{
/*请填写完整*/
}
void main()
{char a[N];
printf("Enter a string: ");
gets(a);
printf("The original string is:" );
int c,d,k;
scanf("%s",&a);
scanf("%s",&b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);d=strlen(b);
if(c>d)
{
for(k=0; k<c;k++)
{
ch=a[k];
a[k]=b[k];
b[k]=ch;
}
a[k]='\0';
if(c>d)
{
for(k=0;k<d;k++) /* error */
{
ch=a[k];a[k]=b[k];b[k]=ch;
}
printf("a=%s\n",a); printf("b=%s\n",b);
}答:#include<>#include<> void main()
{
char a[10],b[10],ch;
puts( a);
fun( a);
printf("\n");
printf("The string after modified: ");
puts (a);
}
答:
#in elude <> #in elude <>
#defi ne N 81
void fun ( char s[])
{
int l,i,t;
l=strle n(s);
#include<>
void main()
{
int i,j,len;
char string[100],c;
printf("Please input a string:");
gets(string);
#include<>
#include<>
void main()
{
int i,j;
char string[100], c;
printf("Please input a string:");
gets(string);
/*请填写完整*/
printf("result:%s\n", string);
}
答:
#include<>
for(i=0;i<l/2;i++)
{
t=s[i];
s[i]=s[l-i-1];
s[l-i-1]=t;
}
}
void mai n()
{ char a[N];
printf ("请输入一串字符:”);gets(a);
prin tf("\n");
printf ("未变换前:”);
puts( a );
fun( a );
{for(j=0;j<x+i;j++){b=a+i; if(j<x-i-1) printf("");else
printf("%c",b);
}printf("\n");
}
}
3
编程题1
编写程序:程序功能是从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,例如,若输入edcba,则应输出abcde。
}
printf("a=%s\n",a);
printf("b=%s\n",b);
}
②下列给定程序中, 函数fun的功能是: 依次取出字符串中所有数字字符, 形成新 的字符串, 并取代原字符串。 请改正函数fun中的错误, 使它能得出正确的结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构!
void fun(char *s)
{
int i,j;
for(i=0,j=0;s[i]!='\0';i++)
编程题1
请编一个函数fun(char*s),该函数的功能是把字符串中的内容逆置。例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容, 仅在函数fun的花括号中填入所编写的若干语句。
实验七 字符与字符串处理
一、实验目的与要求
1.掌握C语言字符型数据的概念,理解字符型与整型数据之间的关系。
2.掌握字符的输入与输出。
3.掌握转义字符常量、字符串常量的使用。
4.掌握字符、字符串与字符数组的输入与输出。
5.掌握字符串函数的使用 字符串数组的使用。
6.实验课时2学时
二、实验内容
1
① 调试下列程序,使之具有如下功能:任意输入两个字符串(如:"ningbo"和"china"), 并存放在a,b两个数组中。然后把较短的字符串放在a数组,较长的字符串放在b数 组。并输出。程序中的strlen是库函数, 功能是求字符串的长度,它的原型保存在头 文件""中。调试时注意库函数的调用方法,不同的字符串输入方法,通过错误提示发 现程序中的错误。
提示发现程序中的错误。
#include <>
#include<>
void main()
{
char a[10],b[10],ch;
int c,d,k;
scanf("%s",&a);
scanf("%s",&b); /* error */
printf("a=%s,b=%s\n",a,b);
c=strlen(a);d=strlen(b);
prin tf("\wk.baidu.com");
printf ("变换后:");
puts (a);
prin tf("\n");
}
(1) (2)
答:
#in clude<> void main()
{
int x,i,j,a='A',b;
printf("输入行数:\n"); scanf("%d",&x);
for(i=0;i<x;i++)
#include<>
void fun(char *s)
{
int i,j;
for(i=0;j=0;s[j]!='\0';i++)/*error*/
if(s[i]>='0'&&s[i]<='9')
s[j++]=s[i];
s[j]=”\0”;/*error*/
}
void main()
{
char item[80];
printf("\nEnter a string:");
gets(item);
printf("\n\nThe string is:%s\n",item);
fun(item);
printf("\n\nThe string of changing is:%s\n",item);
}答:
#include<>
#include<>
#include<>
#define N81
void fun(char s[])
{
/*请填写完整*/
}
void main()
{char a[N];
printf("Enter a string: ");
gets(a);
printf("The original string is:" );
int c,d,k;
scanf("%s",&a);
scanf("%s",&b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);d=strlen(b);
if(c>d)
{
for(k=0; k<c;k++)
{
ch=a[k];
a[k]=b[k];
b[k]=ch;
}
a[k]='\0';
if(c>d)
{
for(k=0;k<d;k++) /* error */
{
ch=a[k];a[k]=b[k];b[k]=ch;
}
printf("a=%s\n",a); printf("b=%s\n",b);
}答:#include<>#include<> void main()
{
char a[10],b[10],ch;
puts( a);
fun( a);
printf("\n");
printf("The string after modified: ");
puts (a);
}
答:
#in elude <> #in elude <>
#defi ne N 81
void fun ( char s[])
{
int l,i,t;
l=strle n(s);
#include<>
void main()
{
int i,j,len;
char string[100],c;
printf("Please input a string:");
gets(string);
#include<>
#include<>
void main()
{
int i,j;
char string[100], c;
printf("Please input a string:");
gets(string);
/*请填写完整*/
printf("result:%s\n", string);
}
答:
#include<>
for(i=0;i<l/2;i++)
{
t=s[i];
s[i]=s[l-i-1];
s[l-i-1]=t;
}
}
void mai n()
{ char a[N];
printf ("请输入一串字符:”);gets(a);
prin tf("\n");
printf ("未变换前:”);
puts( a );
fun( a );
{for(j=0;j<x+i;j++){b=a+i; if(j<x-i-1) printf("");else
printf("%c",b);
}printf("\n");
}
}
3
编程题1
编写程序:程序功能是从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,例如,若输入edcba,则应输出abcde。