c语言程序题???

来源:百度知道 编辑:UC知道 时间:2024/05/24 23:46:04
#include "stdio.h"
void strinset(char *s ,int n ,int x);
void main()
{
char s[100];
int m,w;
gets(s);
scanf("%d",&m);
scanf("%d",&w);
strinset(s,m,w);
printf("%s",s);

}
void strinset(char *s ,int n ,int x)

{
int i,j;
for(j=0;s[j];j++)
for(i=j;i>=n-1;i--)
s[i+1]=s[i];
s[i+1]=x;
}
问题补充:这是删除字符串中的某个数,在在删除处插入另外一个数的函数!!!
不是..上面说错拉....比如输入字符串:asdfghjkl
要在第五个字符"g"之前插入一个数5
变成asdf5ghjkl

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

/*双向链表*/
typedef struct linknode{
int data;
struct linknode *last;
struct linknode *next;
} linklist;

void print(linklist *node);
linklist *creat(char *s);
linklist *insert(linklist *node, int c, char n);

void main()
{
char s[100];
int m;
char w;
linklist *node;
fgets(s, 100, stdin);
scanf("%d %c", &m, &w);
node = creat(s);
insert(node, m, w);
print(node);
}

linklist *creat(char *s)
{
int len = strlen(s);
linklist *head;
linklist *q;
linklist *p;
head = (linklist *)malloc(sizeof(linklist));
if (head == NULL){
printf("分配空间失败!\n");
exit(-1);
}
head->last = NULL;
head->data = 0;
head->next = NULL;
q = head;