C语言 请编写程序实现以下功能:在字符串中所有数字字符前加一个$字符。例如, 输入:A1B23C
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;
}
元莎地氯: #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; }