C语言 请编写程序实现以下功能:在字符串中所有数字字符前加一个$字符。例如, 输入:A1B23C

作者&投稿:蒲适 (若有异议请与网页底部的电邮联系)
C语言编写程序,其功能是:在字符串中所有数字字符前加一个$字符功能用函数实现,然后再主函数中调用该函数~

my_string.h
#ifndef
_my_string_h_
#define
_my_string_h_
//比较
int
my_strcmp(const
char
*,const
char
*);
//复制
char
*my_strcpy(char
*,const
char
*);
//检查字符是否为数字或字母
int
my_isalpha(char
);
int
my_isnumber(char
);
//大写转换为小写。
char
*my_convert(char
*);
#endif
my_string.c
#include
"my_string.h"
//比较
int
my_strcmp(const
char
*cs,const
char
*ct)
{
register
signed
char
__res;
while
(1)
{
if
((__res
=
*cs
-
*ct++)
!=
0
||
!*cs++)
break;
}
return
__res;
}
//复制
char
*my_strcpy(char
*dest,const
char
*src)
{
char
*tmp=dest;
while((*dest++=*src++)
!=
'\0');
return
tmp;
}
//检查字符是否为数字或字母
int
my_isalpha(char
c)
{
if((c>='a'
&&
c<='z')
||
(c>='a'
&&
c<='z'))
return
1;//返回1为字母
else
return
0;//返回0为其他字符
}
int
my_isnumber(char
c)
{
if((c>='0'
&&
c<='9'))
return
1;
else
return
0;
}
//大写转换为小写。
char
*my_convert(char
*src)
{
char
*tmp=src;
while(*src!='\0')
{
if(*src
>='a'
&&
*src<='z')
*src=*src+32;
}
return
tmp;
}
别忘了自己测试一下


#include <stdio.h>

int fun(char *s)

{

char t[80];

int i, j;

for(i=0; s[i]; i++)  /*将串s拷贝至串t*/

t[i]=s[i];

t[i]='\0';

for(i=0,j=0; t[i]; i++)

/*对于数字字符先写一个$符号,再写该数字字符*/

if(t[i]>='0' && t[i]<='9')

{

s[j++]='$';

s[j++]=t[i];

}

/*对于非数字字符原样写入串s*/

else

s[j++]=t[i];

s[j]='\0';  /*在串s结尾加结束标志*/

return 0;

}

int main()

{

char s[80];

printf ( "Enter a string:" );

scanf ("%s", s);  /*输入字符串*/

fun(s);

printf ("The result: %s
", s);  /*输出结果*/

return 0;

}

扩展资料:

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出; 另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应,否则将会出现意想不到的错误。

比如:

int a=1234;

printf("a=%d
",a); 

输出结果为a=1234。



#include<stdio.h>
#include<string.h>

#define MAXLEN  1000
int main()
{
    char s[MAXLEN];
    char t[MAXLEN*2];
    int i, slen, tlen;

    scanf("%s", s);
    slen = strlen(s);
    tlen = 0;
    for(i = 0; i < slen; ++i)
    {
        if(s[i] >= '0' && s[i] <= '9')
        {
            t[tlen++] = '$';
        }
        t[tlen++] = s[i];
    }
    t[tlen] = '\0';
    printf("%s
", t);
    //如果要修改的是原始字符串,就加上“strcpy(s, t);” 注意字符串长度不要超过MAXLEN.
    return 0;
}



呼伦贝尔市19373059033: C语言 请编写程序实现以下功能:在字符串中所有数字字符前加一个$字符.例如, 输入:A1B23C -
元莎地氯: #include <stdio.h> int fun(char *s) { char t[80]; int i, j; for(i=0; s[i]; i++) /*将串s拷贝至串t*/ t[i]=s[i]; t[i]='\0'; for(i=0,j=0; t[i]; i++) /*对于数字字符先写一个$符号,再写该数字字符*/ if(t[i]>='0' && t[i]<='9') { s[j++]='$'; s[j++]=t[i]; } /*对于非数字字符原样写...

呼伦贝尔市19373059033: 编写一个程序,实现以下功能:将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行中给出.c语言哈 -
元莎地氯: #include <stdio.h> void main() { FILE *from,*to; char in[100],out[100]; printf("请输入源文件名:\n"); scanf("%s",in); printf("请输入目标文件名:\n"); scanf("%s",out); if((from=fopen(in,"r"))==NULL) { printf("文件不存在!\n"); ...

呼伦贝尔市19373059033: C语言基础,编写一个程序,实现以下功能: -
元莎地氯: #include “stdio.h” int main() {static int a[10],b[10];int i,j=0,count=0,aver,count2=0;for(i=0;i<10;i++){printf("请输入第%d个同学的成绩:",i+1);scanf("%d",&a[i]);count+=a[i];}aver=count/10;printf("10个同学的平均成绩是:%d...

呼伦贝尔市19373059033: 用C语言如何实现以下功能程序. -
元莎地氯: 根据你的要求,只要将以下代码写入程序即可实现你说的功能,具体如下:#include <stdio.h>#include <stdlib.h>#include <malloc.h>#define LIST_INIT_SIZE 20#define LISTINCREMENT 10 struct myList { int elem; int length; int listsize; }; int InitList(...

呼伦贝尔市19373059033: C语言编程1、编写一个程序实现如下功能:输入10个学生5门课程的成绩,分别用函数求:①每个学生的平均分;②每门课程的平均分;③找出最高的分数所... -
元莎地氯:[答案] 第一题:#include #include #define STUDENT_NUM 2 //学生数量,修改成10即可#define COURSE_NUM 5 //课程数量,为5typedef struct { float course[COURSE_NUM]; float ave;} student;void main(){ student s...

呼伦贝尔市19373059033: 用C语言编程实现以下功能: -
元莎地氯: 用C++帮你做了一个,觉得还可以的话就采纳吧.#include<iostream.h>#include<stdlib.h> typedef struct { int *elem; int length; int listsize; }SqList; int InitList_sq(SqList *L,int n) { int i; L->elem=(int*)malloc(100*sizeof(int)); if(!L->elem) return 0; else ...

呼伦贝尔市19373059033: 编写C程序,实现如下功能: -
元莎地氯: 根据你的提问,代码如下:(如有不明白可追问) #include <stdio.h>#include <string.h> int main() { int a,b; while(1) { printf("Please input the score 1-100:"); scanf("%d",&a); b=a/10; if(b<6) puts("不及格"); else if(b==6) puts("及格"); else if(b==7) puts("中"); else if(b==8) puts("良"); else puts("优"); } } 当然也可以有swith case来完成.

呼伦贝尔市19373059033: 用c语言编写一个程序实现以下功能 -
元莎地氯: 12345678910 #include "stdio.h" intmain(intargc,char*argv[]){ 5261int a,b; doublex,y; charch1,ch2; printf("Please enter the data...\n"); scanf("%d%d%lf%lf %c%c",&a,&b,&x,&y,&ch1,&ch2); printf("\na=%d,b=%d\nx=%f,y=%f\nch1=%c,ch2=%c\n",a,b,x,y,ch1,ch2); return0; } 运行样例:

呼伦贝尔市19373059033: c语言编写一个程序实现如下功能:定义一个点的数据结构类型,实现以下功能:1 为点输入坐标值.2 求两个点中点坐标.3 求两点间距离
元莎地氯: #include <math.h> #include <stdlib.h> #include <stdio.h> struct POINT { double x,y; }; void main() { struct POINT point1,point2,pointmid; printf("输入点1坐标(用逗号隔开横纵坐标):"); scanf("%lf,%lf",&point1.x,&point1.y); printf("输入...

呼伦贝尔市19373059033: 用C语言编写一个程序,完成以下功能:从键盘输入两个正整数,输出这两个整数的最小公倍数.(最好用TC3.0或者C++编程,不要太高端)
元莎地氯:#include<stdio.h> int main() { int a,b, i; scanf("%d%d", &a, &b); for(i=a; i<=a*b;i++) if(i%a==0 && i%b==0) printf("%d", i); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网