你的if中的條件寫的有問題,應改為
創新互聯建站2013年至今,是專業互聯網技術服務公司,擁有項目成都網站建設、網站制作網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元仙居做網站,已為上家服務,為仙居各地企業和個人服務,聯系電話:18980820575
if(c='a'c='z'||c='A'c='Z')
這樣說明只有你輸入的是字母時,a的值才執行++操作。而你的條件c('a'='z''A'='Z'))后半部分('a'='z''A'='Z'))返回值永遠都是真,因為a和A永遠都比z和Z小呀。前半部分的c是你輸入的值,如果不是輸入了0對應的ascii碼值48,那也永遠是真,所以a條件總是成立,a總是++;結果當然就會不對了
#includestdio.h
void delStr(char *s,char p)
{char *p1,*p2;
for(p1=p2=s;*p1;p1++)
if(*p1!=p)*p2++=*p1;
*p2='\0';
}
int main()
{char s[300],ch;
gets(s);
ch=getchar();
delStr(s,ch);
printf("%s\n",s);
return 0;
}
#includestdio.h
#includestring.h
int?MyStrCmp(?char?*s1,char?*s2?);
int?main()
{
char?s1[30],?s2[30];
gets(s1);
gets(s2);
printf("%d\n",?MyStrCmp(s1,?s2));
return?0;
}
int?MyStrCmp(char?*?s1,?char?*?s2)
{
int?flag?=?0;//0表示相等,1表示s1大于s2,-1表示s1小于s2
int?minLength?=?0;?//較短串的長度
int?i?=?0;
minLength?=?strlen(s1)?=?strlen(s2)???strlen(s1)?:?strlen(s2);
for(i?=?0;?i??minLength;?i++)
{
if(s1[i]?!=?s2[i])
{
if(s1[i]??s2[i])
flag?=?1;
else
flag?=?-1;
break;
}
else
continue;
}
return?flag;
}
一直想找出一種簡便的方法,于是想到了遞歸,不知道是不是符合題意,方法不太好,盡是全局變量,看看吧
#includestdio.h
float ave=0,s=0,sum=0;int n,i;
void fun()
{ float t;
printf("請輸入數據:");
scanf("%f",t);
sum+=t;
if(-1+i--)
fun();
if(i==0)
{
ave=1.0*sum/n;
}
s+=(t-ave)*(t-ave);
}
void main()
{
printf("要輸入幾個數:");
scanf("%d",n);
i=n;
fun();
printf("ave=%f,s=%f",ave,s);
}
分享標題:c語言寫測試函數測試 c語言測試數據
網站地址:http://www.2m8n56k.cn/article38/ddosopp.html
成都網站建設公司_創新互聯,為您提供企業網站制作、定制網站、做網站、標簽優化、網站導航、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯