C语言第七章习题答案
C语言程序设计教程 第七章 课后习题参考答案
int i,j;
for(i=0;i<rows;i++)
{
for(j=0;j<cols;j++)
printf("%-4d",a[i][j]);
printf("\n");
}
}
intfun(int a[][3],int rows,int clos)
{
int i,j,x=0;
for(i=0;i<rows;i++)
printf("出现6的概率为:%lf\n",n/N);
return 0;
}
P671最大奇、偶数
#include<stdio.h>
#define M 10
int main()
{
int i,a[M];
intmax1=-1,max2=-1;
for(i=0;i<M;i++)
{
printf("请输入第%d个正整数:",i+1);
while(1)
{
scanf("%d",&a[j]);
if(a[j]==0)
break;
j++;
}
for(i=0;i<j;i++)
C语言第七章复习题(含答案)
1.下列对C语言字符数组的描述中错误的是(C )。
(A)字符数组可以存放字符串 (B)字符数组中的字符串可以整体输入、输出
(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
(D)不可以用关系运算符对字符数组中的字符串进行比较
2.不能把字符串:Hello!赋给数组b的语句是( B )。
(A)char b[10]={'H','e','l','l','o','!'};
(B)char b[10];b="Hello!";
(C)char b[10];strcpy(b,"Hello!");
(D)char b[10]="Hello!";
3.若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是( D )。
(A)a[g-c] (B)a[4] (C)a['d'-'c'] (D)a['d'-c]
4.以下程序的输出结果是( B )
(A) 20 (B) 21 (C) 22 (D)23
main()
{ int i, k, a[10], p[3];
k=5;
for (i=0;i<10;i++) a[i ]=i;
for (i=0;i<3;i++) p[i ]=a[i *(i+1)];
for (i=0;i<3;i++) k+=p[i] *2;
printf("%d\n",k);
5.以下程序的输出结果是(C )。
(A) 1,5,9 (B) 1,4,7 (C) 3,5,7 (D)3,6,9
main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
《数据结构(C语言版 第2版)》(严蔚敏 著)第七章练习题答案
《数据结构(C语言版第2版)》(严蔚敏著)
第七章练习题答案
第7章查找
1.选择题
(1)对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()。
A.(n-1)/2B.n/2C.(n+1)/2D.n
答案:C
解释:总查找次数N=1+2+3+…+n=n(n+1)/2,则平均查找长度为N/n=(n+1)/2。
(2)适用于折半查找的表的存储方式及元素排列要求为()。
A.链接方式存储,元素无序B.链接方式存储,元素有序
C.顺序方式存储,元素无序D.顺序方式存储,元素有序
答案:D
解释:折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
(3)如果要求一个线性表既能较快的查找,又能适应动态变化的要求,最好采用()查找
法。
A.顺序查找B.折半查找
C.分块查找D.哈希查找
答案:C
解释:分块查找的优点是:在表中插入和删除数据元素时,只要找到该元素对应的块,就
可以在该块内进行插入和删除运算。由于块内是无序的,故插入和删除比较容易,无需进行大量
移动。如果线性表既要快速查找又经常动态变化,则可采用分块查找。
(4)折半查找有序表(4,6,10,12,20,30,50,70,88,100)。若查找表中元素58,
则它将依次与表中()比较大小,查找结果是失败。
A.20,70,30,50B.30,88,70,50
C.20,50D.30,88,50
答案:A
解释:表中共10个元素,第一次取⎣(1+10)/2⎦=5,与第五个元素20比较,58大于20,再
取⎣(6+10)/2⎦=8,与第八个元素70比较,依次类推再与30、50比较,最终查找失败。
C语言第七章习题带答案
选择题
1.已知:int *p, a;,则语句“p=&a;”中的运算符“&”的含义是( D )。
A.位与运算B.逻辑与运算C.取指针内容D.取变量地址2.已知:int a, x;,则正确的赋值语句是( C )。
A.a=(a[1]+a[2])/2; B.a*=*a+1; C.a=(x=1, x++, x+2); D.a="good"; 3.已知:int a, *p=&a;,则下列函数调用中错误的是( D )。
A.scanf("%d", &a); B.scanf("%d", p); C.printf("%d", a); D.scanf("%d", *p); 4.已知:char *p, *q;,选择正确的语句( C )。
A.p*=3; B.p/=q; C.p+=3; D.p+=q;
5.已知:int x;,则下面的说明指针变量pb的语句( C )是正确的。
A.int pb=&x; B.int *pb=x; C.int *pb=&x; D.*pb=*x;
一、选择题
1.设有说明int (*ptr)[M];,其中的标识符ptr是( C )。
A.M个指向整型变量的指针
B.指向M个整型变量的函数指针
C.一个指向具有M列的二维数组的一行的指针
D.具有M个指针元素的一维数组的指针
2.已知:double *p[6];,它的含义是( C )。
A.p是指向double型变量的指针B.p是double型数组
C.p是指针数组D.p是数组指针
3.已知:char s[10], *p=s,则在下列语句中,错误的语句是( B )。
c语言教材第七章习题答案
c语言教材第七章习题答案
《C语言教材第七章习题答案》
在学习C语言的过程中,掌握基本的语法和逻辑结构是非常重要的。第七章的
习题涉及到了一些较为复杂的概念和技巧,需要我们对C语言有更深入的理解
和掌握。
1. 题目:编写一个程序,计算并输出1到100之间所有偶数的和。
答案:我们可以使用循环结构和条件判断来解决这个问题。具体的代码如下: ```
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
sum += i;
}
}
printf("1到100之间所有偶数的和为:%d\n", sum);
return 0;
}
```
这段代码使用了for循环来遍历1到100之间的所有数字,然后通过条件判
断判断是否为偶数,如果是偶数则累加到sum中,最后输出sum的值。
2. 题目:编写一个程序,输出九九乘法表。
答案:九九乘法表是一个经典的练习题,通过嵌套循环可以很容易地实现。
具体的代码如下:
```
#include <stdio.h>
int main() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
printf("%d*%d=%d\t", j, i, i*j);
}
printf("\n");
}
return 0;
}
```
这段代码使用了两层嵌套的for循环,外层循环控制行数,内层循环控制列数,通过printf语句输出乘法表中的每一项。
C语言第七章习题答案
7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
hcf(u,v)
int u,v;
{ int a,b,t,r;
if(u>v)
{ t=u;u=v;v=t; }
a=u;b=v;
while((r=b%a)!=0)
{ b=a;a=r; }
return(a);
}
lcd(u,v,h)
int u,v,h;
{ int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%dn",h);
l=lcd(u,v,h);
printf("L.C.d=%dn",l);
return(u*v/h);
}
#include <stdio.h>
void main()
{ int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%dn",h);
l=lcd(u,v,h);
printf("L.C.D=%dn",l);
}
7.2 求方程根
float x1,x2,disc,p,q; greater_than_zero(a,b)
float a,b;
{
x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); }
equal_to_zero(a,b)
float a,b;
{ x1=x2=(-b)/(2*a);}
smaller_than_zero(a,b)
float a,b;
{ p=-b/(2*a);
q=sqrt(disc)/(2*a);
C语言在线实验第5次(第七章函数)-题目与答案
第五次实验题目-第七章函数
教学目标3
1.一元二次方程的系数:a、b、c由主函数输入,编写函数求方程的根。
#include <stdio.h>
#include <math.h>
void root(double a, double b, double c)
{ double delta,x1,x2,m,n;
if (fabs(a) <= 1e-6){
if (fabs(b) <= 1e-6)
puts("Not an equation");
else
printf("x=%.2lf",-c/b);
return;
}
else{
delta=b*b - 4*a*c;
m = -b / (2*a);
n = sqrt(fabs(delta)) / (2*a);
x1 = m + n;
x2 = m - n;
if (fabs(delta) <= 1e-6)
printf("x1=%.2lf, x2=%.2lf", x1, x1);
else if (delta < 0)
printf("x1=%.2lf+%.2lfi, x2=%.2lf-%.2lfi",m,n,m,n);
else
printf("x1=%.2lf, x2=%.2lf", x1, x2);
}
}
int main( )
{ double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
root(a,b,c);
return 0;
}
教学目标3
2.输入一串字符,统计其中英文字母的个数,编写统计英文字母个数的函数。#include<stdio.h>
c语言程序设计课后习题答案第7章
#include<stdio.h>
main()
{
int a[10],n,sum=0,i;
float ave;
printf("enter n:\n");
scanf("%d",&n);
printf("enter %d ge zheng shu:\n",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
ave=1.0*sum/n;
printf("ave=%.2f\n",ave);
}
/*练习7-2*/
#include<stdio.h>
main()
{
int a[10],n,i;
printf("enter n:\n");
scanf("%d",&n);
printf("enter %d ge zheng shu:\n",n);
for(i=0;i<n;i++)
{
printf("第%d个:\n",i+1);
scanf("%d",&a[i]);
printf("倒序:\n");
while(a[i]!=0)
{
printf("%d",a[i]%10);
a[i]=a[i]/10;
}
printf("\n");
}
}
#include<stdio.h>
main()
{
int a[5],x,i,k=0;
printf("enter 5 ge zheng shu:\n");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("enter x:\n");
scanf("%d",&x);
for(i=0;i<5;i++)
c语言第七章习题
第七章结构体
一、选择题
1、若有语句:char s1[]="string",s2[8],*s3,*s4="string2";则对库函数strcpy的错误调用是()A)strcpy(s1,"string2"); B)strcpy(s4,"string1"); C)strcpy(s3,"string1"); D)strcpy(s1,s2);
2、下面程序的运行结果是()
fun(int **a,int p[2][3])
{**a=p[1][1];}
main()
{int x[2][3]={2,4,6,8,10,12},*p;p=(int *)malloc(sizeof(int));fun(&p,x);printf("%d\n",*p);}
A)10 B)12 C)6 D)8
3、以下scanf函数调用语句中对结构体变量成员的不正确引用是()。
struct pupil
{ char name[20]; int age; int sex;} pup[5],*p; p=pup;
A)scanf("%s",pup[0].name); B)scanf("%d",&pup[0].age);
C)scanf("%d",&(p->sex)); D)scanf("%d",p->age);
4、以下对结构体变量stul中成员age的非法引用是()。
struc student
{ int age; int num; }stul,*P; p=&stul;
A)stul.age B)student.age C)p->age D)(*p).age
第七章C语言谭浩强答案
7.1用筛法求100之内的素数。
解:所谓“筛法”指的是“Eratosthenes筛法”。Eratosthenes是古希腊的著名数学家。他采用的方法是:在一张纸上写下1~1000之间的全部整数,然后逐个判断它们是否素数,找出一个非素数就把它挖掉,最后剩下的就是素数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 …
具体做法如下:
先将1挖掉(因为1不是素数)。
用2去除它后面的各个数,把能被2整除的数(如4,6,8…)挖掉,即把2的倍数挖掉。用3去除它后面各数,把3的倍数挖掉。
分别用4,5…各数作为除数去除这些数以后的各数。这个过程一直进行到在除数后面的数已全被挖掉为止。例如在上表中1~50范围内的素数,要一直进行到除数为47为止。事实
上,这一过程可以简化。如果需要找1~n
数)即可。例如对1~50,只需进行到将7
上面的算法可表示为:
挖去1;
用刚才被挖去的数的下一个数p去除p后面的各数,把p的倍数挖掉;
检查p n=1000,则检查p<31否),如果是,则返回(2)继续执行,否则就结束;
纸上剩下的就是素数。
解题的基本思路有了,但要变成计算机的操作,还要作进一步的分析。如怎样判断一个数是否已被“挖掉”,怎样找出某一个数p的倍数,怎样打印出未被挖掉的数。可以设一个数组a,a[1]到a[100]的值分别是1,2,3,…100。然后用上述方法将非素数“挖去”。如果一个数被认为是非素数,就将它的值变为零,最后将不为零的数组元素输出,就是所求的素数表。程序如下:
《C语言程序设计教程》(第三版)李凤霞 主编——第七章习题答案
习题七
一、单项选择题
1、以下程序的输出结果是()。
main()
{int i,k,a[10],p[3];
k=5;
for(i=0;i<10;i++)a[i]=i; /*a: 0 1 2 3 4 5 6 7 8 9 */
for(i=0;i<3;i++)p[i]=a[i*(i+1)]; /*p:0 2 6 */
for(i=0;i<3;i++)k+=p[i]*2; /* k=5+4+12=21 */
printf(“%d\n”,k);
}
A)20 B)21 C)22 D)23
2、以下正确的数组定义语句是()。
A)int y[1][4]={1,2,3,4,5}; B)float x[3][ ]={{1},{2},{3}}; C)long s[2][3]={{1},{1,2},{1,2,3}}; D)double t[ ][3]={0};
3、以下程序段的输出结果是()。
main()
{int m[3][3]={{1},{2},{3}}; m 1 0 0 n 1 2 3
int n[3][3]={1,2,3}; 2 0 0 0 0 0
printf(“%d\n”,m[1][0]+n[0][0]); 3 0 0 0 0 0
printf(“%d\n”,m[0][1]+n[1][0]);
}
A)0 B)2 C)3 D)1
0 3 0 2
4、以下程序的输出结果是()。
main()
{int i,x[3][3]={1,2,3,4,5,6,7,8,9}; 1 2 3
for(i=0;i<3;i++)printf(“%d,”x[i][2-i]); 4 5 6
C语言练习题第七章
C语⾔练习题第七章
第七章常见题型
⼀.选择题:
1.C语⾔标准库函数"fgets(string,n,fp)"的功能是________。
A.从⽂件fp中读取长度为n的字符串存⼊指针string指向的内存
B.从⽂件fp中读取长度为n-1的字符串存⼊指针string指向的内存
C.从⽂件fp中读取n个字符串存⼊指针string指向的内存
D.从⽂件fp中读取长度不超过长度为n的字符串存⼊指针string指向的内存
2.参考下⾯函数f的定义:
f(int a){printf("%d",a);}
函数f的返回类型________。
A.同参数a的类型相同
B.是void类型
C.没有返回值
D.⽆法确定
3.函数NewPring⽤于打印sin(x)、cos(x)和ln(x)等函数的曲线模拟,其参数就是上述函数,则NewPring的原型为________。
A.double NewPrint(double x)
B.void NewPrint(double(*f)(double X))
C.void (*NewPrint)(double X)
D.void (*NewPrint)(double f(double x))
4.数组名作为参数传递给函数,此时作为实在参数的数组名被处理为________。
A.该数组的长度
B.该数组的元素个数
C.该数组中各元素的值
D.该数组的⾸地址
5.执⾏完下⾯的程序段后,屏幕显⽰的内容为何。
main()
{
int a=2,i;
for(i=0;i<3;i++) printf("%d",f(a));
第3、4、5、6、7章C语言设计 习题答案
第三章习题答案
1.掌握算法必须要掌握的五个特性:
a)有穷性。算法执行步骤的次数有限,能在有限时间内完成。
b)确切性。每一步操作的执行步骤、执行结果确定,不能有二义性。
c)有效性。算法中的每一步操作都是可执行的,即算法的每一步都能通过手工或机器
在有限时间内完成。
d)必须有零个或多个输入。
e)必须有一个或多个输出。
2.算法是指令的有限序列,是求解问题显式的一步一步进行的过程。为程序编写提供依据。
程序是用C语言单词将算法表达出来的过程。
算法是程序的灵魂。
3.数据类型总体分为三类:
a)对象类型。对象类型的基本类型又分为整型、浮点型、字符型。
b)函数类型。
c)不完全类型。
4.整型可分为:
a)有符号整数。它又包括 short int、int、long int、long long int。
b)无符号整数。它又包括unsigned short int、unsigned int、unsigned long
int、unsigned long long int。
不同数据类型数据的值域范围不同。
5.合法的标识符有:
scanf、x、x1、_y 、_y2x、printf、main
合法标识符由英文字母、数字、下划线组成,且第一个字符只能是英文字母或下划线。
关键词不能成为合法标识符。
6.略
7.
8.变量名:x 数据对象:3
存储地址:&x 存储单元:8(在VS2005中)
9.0x13B1:十六进制int型字面值;
3e3:十进制 int型字面值;
‘d’:字符型字面值;
“my university”:字符串型字面值;
99:十进制int型字面值;
c语言习题册1-8章答案
第一章:(标记红色的为错误答案,参考老师评讲的答案)一、选择题:
1-5、CCCDB
6-9、ADDA
二、填空题:
1、函数一个函数函数
2、/* */
3、关键字预定义标识符用户标识符
4、b被赋值为10,或将10赋值给b
5、scanf() printf()
第二章
一、选择题:
1-5、ACCAD
6-10、DBBD B
11-15、D CCBC
16-20、CD B BB
21-25、ABCCC
26-30、ACABD
31-34、CA A C
二、填空
1、123.43
2、++、%、<、=
3、20<x&&x<30||x<-10
4、12
5、7
6、21
第三章
一选择题:
1-5、D ADBB
6-10、DBAAD
11-15、CACCA
16-19、BADC
二、填空题:
1、10241e
2、D
3、PB
4、3
5、无答案
第四章
一、选择题:
1-5、DBABA
6-10、DDDCC
11-15、BDCCB
16-20、AABAA
二填空题:
1、20<x&&x<30||x<-100
2、3
3、1
4、4599
5、20 10 1
6、9911
7、4,8,0
8、3
9、20,0
10、x<10 x>=1
11、10 12 2
第五章
一选择题:
1-5:AA B CA
6-10:CCAAA
11-15:DDCBA
16-20:BDABA
21-23:D AC
二、填空题
1、1
2、死循环
3、6
4、2
5、345
6、0
7、此题程序有误:应为:
main()
{int i,j;
for(i=0;i<=100;i++)
{if(i%3!=0||i%10!=4)continue;
(完整版)答案第七章函数..
第七章函数
一、选择题
1.以下函数声明正确的是: C 。(02~03第一学期试题)
A) double fun(int x, int y) B) double fun(int x; int y)
C) double fun(int x, int y) ; D) double fun(int x , y)
2.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: B 。(0级)
A)地址传递;B)单向值传递;
C)双向值传递;D)由用户指定传递方式
3.以下关于C语言程序中函数的说法正确的是: B 。(0级)
A)函数的定义可以嵌套,但函数的调用不可以嵌套;
B)函数的定义不可以嵌套,但函数的调用可以嵌套;
C)函数的定义和调用均不可以嵌套;
D)函数的定义和点用都可以嵌套。
4.以下正确的函数形式是: D 。(1级)
A)double fun(int x,int y) B)fun (int x,y)
{z=x+y;return z;} {int z;return z;}
C)fun(x,y) D)double fun(int x,int y)
{int x,y ; double z; {double z;
z=x+y; return z;} z=x+y; return z;}
5.以下说法不正确的是: B 。(1级)
C 语言规定A)实参可以是常量、变量或表达式
B)形参可以是常量、变量或表达式
C)实参可以是任意类型
D)形参应与其对应的实参类型一致
6.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 B 。(0级)
(完整版)C教材习题答案(1-8章)
#include <stdio.h>
main()
{
int score;
char ch;
printf("请输入一个百分制分数:");
scanf("%d",&score);
if(score>100 || score<0){
printf("非法输入!\n");
return 0;
case 7:printf("%d月对应的英文单词是:%s\n",i,"July"); break;
case 8:printf("%d月对应的英文单词是:%s\n",i,"August"); break;
case 9:printf("%d月对应的英文单词是:%s\n",i,"September"); break;
printf("%5d",b[i][j]);
printf("\n");
}
}
4.使用指针数组,编写一个程序实现输入的月份号,输出月份号对应的英文名。借用数组存储月份的英文单词。
#include<stdio.h>
main()
{
int i;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
hcf(u,v)
int u,v;
{ int a,b,t,r;
if(u>v)
{ t=u;u=v;v=t; }
a=u;b=v;
while((r=b%a)!=0)
{ b=a;a=r; }
return(a);
}
lcd(u,v,h)
int u,v,h;
{ int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%dn",h);
l=lcd(u,v,h);
printf("L.C.d=%dn",l);
return(u*v/h);
}
#include
void main()
{ int u,v,h,l;
scanf("%d,%d",&u,&v);
h=hcf(u,v);
printf("H.C.F=%dn",h);
l=lcd(u,v,h);
printf("L.C.D=%dn",l);
}
7.2 求方程根
float x1,x2,disc,p,q; greater_than_zero(a,b)
float a,b;
{
x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); }
equal_to_zero(a,b)
float a,b;
{ x1=x2=(-b)/(2*a);}
smaller_than_zero(a,b)
float a,b;
{ p=-b/(2*a);
q=sqrt(disc)/(2*a);
}
main()
{
float a,b,c;
printf("n输入方程的系数a,b,c:n");
scanf("%f,%f,%f",&a,&b,&c);
printf("n 方程是:% 5.2f*x*x+%5.2f*x+%5.2f=0n",a,b,c);
disc=b*b-4*a*c;
printf("方程的解是:n");
if(disc>0)
{ great_than_zero(a,b);
printf("X1=%5.2ftX2=%5.2fnn",x1,x2);
}
else if(disc==0)
{
zero(a,b);
printf("X1=%5.2ftX2=%5.2fnn",x1,x2);
}
else
{
small_than_zero(a,b,c);
printf("X1=%5.2f+%5.2fitX2=%5.2f-%2.2fin",p,q,p,q);
}
}
7.3 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。
#include
#include
void main()
{ int number;
scanf("%d",&number);
if(prime(number))
printf("yes");
else
printf("no");
}
int prime(number)
int number;
{ int flag=1,n;
for(n=2;n if(number%n==0) flag=0; return(flag); } 7.4 写一个函数,使给定的一个3*3的二维整型数组转置,即行列互换。#define N 3 int array[N][N]; convert(array) int array[3][3]; { int i,j,t; for(i=0;i for(j=j+i;j { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } } main() { int i,j; printf("输入数组元素:n"); for(i=0;i for(j=0;j scanf("%d",&array[i][j]; printf("n数组是:n"); for(i=0;i { for(j=0;j printf("%5d",array[i][j]); printf("n"); } convert(array); printf("转置数组是:n"); for(i=0;i { for(j=0;j printf("%5d",array[i][j]); printf("n"); } } 7.5 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。 #include #include void main() { char str[100]; printf("输入字符串:n"); scanf("%s",str); inverse(str); printf("转换后的字符串是: %sn",str);