程序的大體思路可以是這樣:
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),青銅峽企業(yè)網(wǎng)站建設(shè),青銅峽品牌網(wǎng)站建設(shè),網(wǎng)站定制,青銅峽網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,青銅峽網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
str1是原字符串,str2是待插入的字符串,position是待插入的位置,我們可以這樣,用一個指針p_cur指向字符串1 str1中的待插入位置position,另一個指針p_end指向字符串1 str1的尾部,每次插入字符前,把str1中從當(dāng)前位置開始一直到結(jié)束字符全部后移一個位置,空出當(dāng)前位置,然后把要插入的字符放進(jìn)這個位置,這樣就完成了一個字符的插入,重復(fù)這個步驟,直到str2被完全插入。
代碼如下:
#include stdio.h
#include string.h
void insert_str(char str1[],char str2[],int position)
{
/*
insert_str()函數(shù)
功能:將字符串str2插入到str1的position位置處
參數(shù):char str1,char str2 ,int position
返回值:無
*/
int i;
char *p_end,*p_cur,*p;/*p_end指向第一個字符串的尾部,p_cur指向被插入的位置*/
p_end=str1+strlen(str1)-1;
p_cur=str1+position-1;
for(i=0;str2[i]!='\0';i++)
{
for(p=p_end;p=p_cur;p--)
{
*(p+1)=*p;/*從p_cur到p_end的全部元素后移一個位置,此時p_cur指向的位置就空出來了*/
}
*p_cur=str2[i];/*把字符串2中的字符插入空出來的位置*/
p_cur++;/*p_cur下移一個位置*/
p_end++;/*多了一個字符,因此p_end也下移一個位置*/
}
}
void main()
{
char s1[100],s2[20];
int position;
printf("輸入字符串1:\n");
gets(s1);
printf("輸入插入位置:");
do
{
scanf("%d",position);
while(getchar()!='\n');/*這一句可以把輸入position的時候輸入的回車去掉*/
}while(position0||positionstrlen(s1));
printf("輸入字符串2:\n");
gets(s2);
insert_str(s1,s2,position);
printf("字符串被插入后變成:\n");
puts(s1);
}
這個很簡單啊。基本的思路就是先查找到插入或者刪除的數(shù)字所在數(shù)組的位置,如果是插入,就把之后的依次想后挪動一個,然后插入;如果是刪除,把之后的依次想前移動一個就行了,不過別忘了處理最后一個數(shù)字就行了。要是還有問題,我?guī)湍銓憘€算了。
1、打開C-Free,按ctrl+N創(chuàng)建一個新的文件。
2、然后開始調(diào)用函數(shù)。
3、按F9進(jìn)行調(diào)試后發(fā)現(xiàn)沒有錯誤。
4、按F5執(zhí)行程序。
5、輸入想要輸入的數(shù)字。
6、按ENTER鍵輸出結(jié)果,檢驗符合結(jié)果,說明函數(shù)調(diào)用成功。
c語言是函數(shù)式語言,所以函數(shù)很重要,舉個例子 #includestdio.h int abc(int a ,int b) /* abc 前的 int 表示這個函數(shù)的返回值是整數(shù),abc 是函數(shù)名稱,括號里的是定義了兩個參數(shù)它們都是整數(shù)*/ { int a=123; printf("%d",a); } 這個是我們自己寫的函數(shù),還有現(xiàn)成的c庫函數(shù),直接調(diào)用就行,限于篇幅,其實你仔細(xì)的摳書,書上都有,我就是看書學(xué)會的
int
add(int
x,int
y);
int
sub(int
x,int
y);
int
mul(int
x,int
y);
int
div(int
x,int
y);
#include
math.h
#include
stdio.h
void
main()
{
int
a,b,c,d,e,f,g,h,i;
printf("XXXXXXXXXXXXXXX計算器");
printf("\n");
for(c=1;c=30;c++)
printf("*");
printf("\n");
printf("請輸入一個整數(shù)");
printf("\n");
scanf("%d",a);
printf("\n");
for(c=1;c=30;c++)
printf("-");
printf("\n");
printf("請選擇您要做的運(yùn)算:1.+,2.-,3.*,4./5.abs,6.sqrt");
printf("\n");
for(c=1;c=30;c++)
printf("*");
printf("\n");
scanf("%d",d);
printf("\n");
if(d==5)
{printf("%d",abs(a));goto
end;}(如果想做絕對值,就直接做abs函數(shù)(它是個庫函數(shù)).做完后就goto"end"--也就是函數(shù)的最后.)
if(d==6)
{printf("%.2f",sqrt(a));goto
end;};}(如果想做開平方,就直接做sqrt函數(shù)(它是個庫函數(shù)).做完后就goto"end"--也就是函數(shù)的最后.)
printf("請再次輸入一個整數(shù)");
(如果是做雙目的就開始輸入第二個數(shù)b)
printf("\n");
scanf("%d",b);
printf("\n");
switch(d)
{
case
1:add(a,b);break;
case
2:sub(a,b);break;
case
3:mul(a,b);break;
case
4:div(a,b);break;
default:printf("date
input
error!\n");
}
end:
printf("\n");}
int
add(int
x,int
y)
{
int
m;
m=x+y;
printf("%d",m);
return
m;
}
int
sub(int
x,int
y)
{
int
m;
m=x-y;
printf("%d",m);
return
m;
}
int
mul(int
x,int
y)
{
int
m;
m=x*y;
printf("%d",m);
return
m;
}
int
div(int
x,int
y)
{
int
m;
m=x/y;
printf("%d",m);
return
m;
}
(你試試看吧!應(yīng)該可以!呵呵)