例题:请编写一个函数fun(char*str)该函数的功能是把字符串中的内容逆置。
例如,字符串中原有的字符串为asdfg,则调用该函数后,串中的内容为gfdsa。
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
代码如下:
#include<string.h>
#include<conio.h>
#include<stdio.h>
#define N 100
void fun(char*str)
{
char ch;
int i,m,n;
i=0;
m=n=strlen(str)-1;
while(i<(n+1)/2)
{
ch=str[i];
str[i]=str[m];
str[m]=ch;
i++;
m--;
}
}
main()
{
char a[N];
FILE*out;
printf("Enter a string: ");
gets(a);
printf("The original string is:");
puts(a);
fun(a);
printf("\n");
printf("The string after modified:");
puts(a);
strcpy(a,"Welcome!");
fun(a);
out=fopen("outfile.dat","w");
fprintf(out,"%s",a);
fclose(out);
}
输出运行窗口如下:
本周其他练习
C语言程序设计专栏
C语言编程>第九周 ① 下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int b[][N]),该函数的功能是:使数组左下半三角元素的值会全部置成0。
C语言编程>第九周 ② 请编写一个函数unsigned(unsigned n),n是一个大于10的无符号整数,若n是m(m≥2)位的整数,则函数求出n的后m-1位的数作为函数值返回。
C语言编程>第九周 ③ 请编写一个函数fun(char*str)该函数的功能是把字符串中的内容逆置。
C语言编程>第九周 ④ 编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。yn+1=cos(yn)
C语言编程>第九周 ⑤ 请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):
C语言编程>第九周 ⑥ 请编写一个函数fun,它的功能是:将s所指字符串中所有下标为奇数位置上的字母转换为小写(若该位置上下是字母,则不转换)。
C语言编程>第九周 ⑦ 请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最小元素的值,并将最小值返回调用函数。
C语言编程>第九周 ⑧ 请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并的方式是:将x数的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的百位和个位上。
越努力越幸运!
加油,奥力给!!!