#includestdio.h
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括石河子網(wǎng)站建設(shè)、石河子網(wǎng)站制作、石河子網(wǎng)頁制作以及石河子網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,石河子網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到石河子省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
#includestring.h
int?findstr(char?*s_str,char?*d_str);
int?main(void)?{
char?s1[80],s2[80];
int?n;
printf("請輸入一個(gè)字符串:");
gets(s1);
printf("請輸入你要查找的字符串:");
gets(s2);
n=findstr(s1,s2);
printf("%s在%s里共有%d個(gè)\n",s2,s1,n);
return?0;
}
int?findstr(char?*s_str,char?*d_str)?{
int?i,j,k,count=0;
char?temp[80];
int?length=strlen(d_str);
for(i=0;istrlen(s_str);i++)?{
k=0;
for(j=i;ji+length;j++)
temp[k++]=s_str[j];
temp[k]='\0';
if(!strcmp(temp,d_str))?count++;
}
return?count;
}
首先,指針默認(rèn)只有一個(gè)地址的長度的空間,存不了那么多的字符。
其次,傳值和傳地址一塌糊涂,完全就是亂寫么。
scanf的第二個(gè)參數(shù)是地址,如果本身不是指針則需要取址符。
我給你重寫了算了
#includestdio.h
int Retrieve(int array[],int length,int x);/*形參x直接傳值就可以了*/
int main()
{
int *a,x;
int length,i;
scanf("%d",length);
a = (int)malloc(sizeof(int)*length); /*申請一個(gè)內(nèi)存空間用來存放數(shù)據(jù),或者直接用一個(gè)大數(shù)組也可以*/
如果總數(shù)量為文件“數(shù)據(jù)\庫存數(shù)據(jù).txt”內(nèi)容的行數(shù)(除了字符‘0’開頭的行以外),那么下面的函數(shù)“能統(tǒng)計(jì)出貨品的總數(shù)量和總金額”。
void Stat(void)
{
char buf[256];
int sum_number = 0;
double sum_money = 0.0;
FILE *fp;
fp = fopen("數(shù)據(jù)\\庫存數(shù)據(jù).txt", "r");
if (fp != (FILE *)NULL)
{
while(fgets(buf, sizeof(buf), fp))
{
if (buf[0] != '\0')
{
n++;
if ((ptr = strchr(buf, '$')) != (char *)NULL)
{
sum_money += atof(ptr+1);
}
}
}
fclose(fp);
}
printf("總數(shù)量:%d\t總金額:%f", sum_number, sum_money);
}
#include stdio.h
int search(int arr[],int len,int num)//arr為序列,len為序列長度,num為要查找的數(shù)
{
int start,end,mid;
start=0;
end=len-1;
mid=(start+end)/2;
while(start=end)
{
if(arr[mid]num)
{
end=mid-1;
mid=(start+end)/2;
continue;
}
if(arr[mid]num)
{
start=mid+1;
mid=(start+end)/2;
continue;
}
return mid+1;
}
return -1;
}
int main()
{
int a[100],i,m,num,pos;
printf("輸入序列長度:");
scanf("%d",m);
printf("輸入一個(gè)長度為%d的有序序列:\n",m);
for(i=0;im;i++)
{
scanf("%d",a[i]);
}
printf("輸入你要查找的數(shù):");
scanf("%d",num);
pos=search(a,m,num);
if(pos==-1)
printf("未能在序列中找到你要查找的數(shù)。\n");
else
printf("你要查找的數(shù)在第%d個(gè)位置\n",pos);
return 0;
}