C实验报告7参考答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t[d+i]=s[i] ;
t[2*d]='/0' ;
t[2*d]='\0'
}
main( )
{
char s[100], t[100];
printf( " Please enter string s : " );
scanf("%s" , s );
sub(s,t) ;
printf( " \n The result is : %s \n ", t );
puts(a);பைடு நூலகம்
}
void Inverse(char str[])
{ int len, i = 0, j;
char temp;
len = strlen(str);
for (j=len-1; i<j; i++, j--)
{ temp = str[i];
str[j] = str[i];
str[i] = str[j];
} (2)编写一函数,判断一字符串是否为回文。所谓“回文”是指顺读和倒读都一样的 字符串,如“deed”和“level”是回文。在主函数中对输入的 5 个字符串统计其中回文的个 数。程序以文件名 sy7_8.c 存盘。
#include <stdio.h> #include <stdlib.h> int function(char x[]) {
int i; int y=strlen(x); for(i=0;i<y/2;i++)
if(x[i]!=x[l-i-1]) return 0;
return 1; } void main() {
char s[100]; int count=0,i; for(i=1;i<=5;i++) { printf("输入第%d 个字符串:",i);
strTemp[j]!=’\0’
main()
{ srcStr[i] = strTemp[j];
{
i++;
char string[MAX];
j++;
scanf("%s",string);
srcStr[i] = ' ';
Insert( string );
i++;
printf("%s",string);
}
b[n]=number%2; number=number/2; n++; } } void main(void) { int inumber; int a[20],i; printf("please input nunber: "); scanf("%d",&inumber); printf("\n"); tentotwo(inumber,a ); for(i=n-1;i>=0;i--) printf("%d",a[i]); printf("\n"); }
#include<stdio.h> #define N 10 void EXmaxmin(int a[],int n) //求最大数和最小数 {
int i,j=0,k=0,t; int max,min; max=a[0]; min=a[0]; for(i=1;i<n;i++)
if(max<a[i]) {max=a[i];j=i;} else if(min>a[i]) { min=a[i]; k=i;} t=a[j]; a[j]=a[k]; a[k]=t; } void main() { int i; int a[N]; printf("请输入%d 个整数:",N); for(i=0;i<N;i++)
for(k=1;k<= 2*i-1 ;k++) printf( “%c”,i+48 );
printf("\n");
or “%d”,i
}
void main()
{ int i;
for(i=1;i<=7;i++) a(i) ;
for(i=6;i>=1;i--) a(i) ;
}
3.编程题
(1)从键盘任意输入 10 个整数,用函数编程实现将其中最大数与最小数的位置对换后, 再输出调整后的数组。程序以文件名 sy7_7.c 存盘。
scanf("%d",&a[i]); printf("调整前的数组元素为:");
for(i=0;i<N;i++) printf("%5d",a[i]);
printf("\n"); EXmaxmin(a,N); printf("调整后的数组元素为:");
for(i=0;i<N;i++) printf("%5d",a[i]);
#include<stdio.h>
{ char strTemp[MAX];
#include<string.h>
int i = 0, j = 0;
#define MAX 100
strcpy(strTemp, srcStr);
void Insert(char srcStr[]);
while ( j<MAX )
任意整数和下标 i1、i2 的值(设 1≤i1≤i2≤9),调用 sum()函数计算从第 i1 元素到第 i2 元
素的和,并输出结果。补充完善程序,以实现其功能。程序以文件名 sy7_4.c 存盘。
#include <stdio.h>
int sum( int x[], int n )
{
int i, s=0;
str[j] = temp;
}
}
(3)下列程序的功能为:求整数 n 的阶乘。纠正程序中存在的错误,以实现其功能。
程序以文件名 sy7_3.c 存盘。
#include<stdio.h>
int fun(int n)
{ static int p=1;
int p=1;
p=p*n;
return p;
}
void main()
result = sum( x+i1, i2-i1+1 );
printf( "Sum=%d\n", result );
}
(2)下列程序的功能为:输入一个字符数小于 100 的字符串 string,然后将 string 所存
盘字符串中的每个字符之间加一个空格。补充完善程序,以实现其功能。程序以文件名
sy7_5.c 存盘。
}
(2)下列程序的功能为:将字符数组中的字符串逆序输出。纠正程序中存在的错误,
以实现其功能。程序以文件名 sy7_2.c 存盘。
#include<string.h>
#include<stdio.h>
#define ARR_SIZE = 80;
#define ARR_SIZE 80
void Inverse(char str[])
(1)下列 sub 函数的功能为:将 s 所指字符串的反序和正序进行连接形成一个新串放
在 t 所指的数组中。例如,当 s 所指字符串的内容为“ABCD”时,t 所指数组中的内容为
“DCBAABCD”。纠正程序中存在的错误,以实现其功能。程序以文件名 sy7_1.c 存盘。
#include <stdio.h>
{ int n,i;
int f=0;
int f=1;
printf("input member: ");
scanf("%d",&n);
for(i=1;i<=n;i++)
f=f*fun(i);
f= fun(i);
printf("%d!=%d\n",n,f);
}
2.程序填空题
(1)下列 sum()函数的功能是:计算数组 x 前 n 个元素之和。在主函数中,输入 10 个
《高级语言程序设计》实验报告
班级:
学号:
姓名:
成绩:
实验 7 函数程序设计
一、实验目的
1.掌握函数定义的方法。 2. 掌握函数实参与形参的传递方式。 3. 掌握函数的嵌套调用和递归调用的方法。 4. 了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。
二、实验内容
1.改错题(在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。)
for ( i=0; i<n ; i++ )
s = s+x[i] ;
return s;
}
void main()
{
int i, i1, i2, result;
int x[10];
for ( i=0; i<10; i++ )
scanf( "%d", &x[i] );
scanf( "%d%d", &i1, &i2 );
}
srcStr[i] = '\0';
void Insert(char srcStr[])
}
(3)下列程序的功能为:输出如下图形,补充完善程序,以实现其功能。程序以文件
名 sy7_6.c 保存。
#include<stdio.h>
void a(int i)
{
int j,k;
for(j=1;j<=30-i;j++) printf("%c",' ');
void Inverse(char str[]);
main()
{ char a[ARR_SIZE] ;
printf("Please enter a string: ");
gets(a);
Inverse(char a[]);
Inverse(a);
printf ("The inversed string is: ");
scanf("%s",s); if(function(s)) {printf("%s 是回文\n",s);count++;} else printf("%s 不是回文\n",s); } printf("共有回文%d 个\n",count); } (3)编写一函数,实现将一个十进制数转换成二进制数。程序以文件名 sy7_9.c 存盘。 #include <stdio.h> int n=0; void tentotwo(int number,int b[ ]) { while(number) {
#include <string.h>
void sub( char s[], char t[] )
{
int i, d;
d=strlen( s );
for( i=1; i< d ; i++ )
for( i=0; i< d ; i++ )
t[i]=s[d-1-i] ;
for( i=0; i<d; i++ )