全国计算机等级考试二级教程——C语言程序设计(2021年版)
编程题答案(第10章):
[10.19]
请编写函数mygets和myputs,其功能分别与gets和puts相同,函数中用getchar和putchar读入和输出字符。
#include#define N 10 void mygets(char []); void myputs(char []); main() {char a[N]; mygets(a); myputs(a); } void mygets(char a[]) {int i=0; char x; while((x=getchar())!='n') {a[i]=x,i++;} a[i]=' '; } void myputs(char a[]) {int i=0; char x; while(a[i]) {putchar(a[i]); i++;} putchar('n'); }
[10.20]
请编写函数,判断一字符串是否是回文。若是回文函数返回值为1;否则返回值为0。回文是顺读和倒读都一样的字符串。
#include#include #define N 10 int fun(char []); main() {char a[N]; int i; gets(a); i=fun(a); printf("%d",i); } int fun(char a[]) {int i,j,k=1,n; n=strlen(a); for(i=0,j=n-1;i [10.21]
请编写函数,删除字符串中指定位置(下标)上的字符。删除成功函数返回被删字符;否则返回空值。
#include#include #define N 20 char fun(char a[],int n); main() {char a[N],b; int i; printf("请输入字符串"); gets(a); printf("输入下标:"); scanf("%d",&i); b=fun(a,i); printf("a[%d]=%cn",i,b); puts(a); } char fun(char a[],int n) {int i; char b=a[n]; for(i=n;a[i];i++) a[i]=a[i+1]; a[i]=' '; if(n>=strlen(a)||n<0) b=' '; return b; }



