十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
0.12345的小數(shù)點(diǎn)后第一位就是tab[0]=(int)(0.12345*10)
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),十年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都數(shù)千家客戶提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷型網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)。
第二位就是tab[1]=((int)(0.12345*100)%10
第三位就是tab[2]=((int)(0.12345*1000)%10
以此類推
if中可以賦值給head的理由很簡(jiǎn)單。
因?yàn)?if(PTScount(head) == 0)
if判斷的就是看它是不是 第一個(gè)元素。
如果是第一個(gè)元素,自然直接將ins賦值給head。
head所代表的就是第一個(gè)元素。
如果到了else這里,那么很明顯就不是第一個(gè)元素了。
那這個(gè)時(shí)候肯定就不可以直接復(fù)制給head了呀,因?yàn)閔ead可是代表第一個(gè)元素呀。
所以,你這是肯定改不了的。
寫了個(gè),你試試。
#include?stdio.h
#define?is_digit(ch)????((ch)?=?'0'??(ch)?=?'9')
char?pri[7][7]?=
{
{'','','','','','',''},
{'','','','','','',''},
{'','','','','','',''},
{'','','','','','',''},
{'','','','','','=','$'},
{'','','','','$','',''},
{'','','','','','$','='},
};
int?get_cal_index(char?c)
{
switch(c)
{
case?'+':?return?0;
case?'-':?return?1;
case?'*':?return?2;
case?'/':?return?3;
case?'(':?return?4;
case?')':?return?5;
case?'#':?return?6;
}
return?-1;
}
int?main(void)
{
char?infix[200];
char?suffix[200];
char?cal[200];
char?*np,*ip,*sp,*cp;
int?nci,?oci;
gets(infix);
infix[strlen(infix)?+1]?=?'\0';
infix[strlen(infix)]?=?'#';
cal[0]?=?'#';
ip?=?infix;
sp?=?suffix;
cp?=?cal;
while(*ip)
{
if(is_digit(*ip))
{
int?has_dot?=?0;
while(is_digit(*ip)?||?*ip?==?'.')
{
*sp++?=?*ip;
*sp++?=?'?';
if(*ip?==?'.')
{
if(has_dot)
{
printf("錯(cuò)誤的計(jì)算數(shù)");
exit(-1);
}
has_dot?=?1;
}
ip++;
}
ip--;
}
else
{
nci?=?get_cal_index(*ip);
if(nci?==?-1)
{
printf("錯(cuò)誤的運(yùn)算符");
exit(-1);
}
oci?=?get_cal_index(*cp);
while(pri[oci][nci]?==?'')
{
*sp++?=?*cp--;
*sp++?=?'?';
oci?=?get_cal_index(*cp);
}
if(pri[oci][nci]?==?'')
{
*++cp?=?*ip;
}
else?if(pri[oci][nci]?==?'=')
{
if(*ip?==?')')
cp--;
else?if(*ip?==?'#')
break;
}
else?if(pri[oci][nci]?==?'$')
{
printf("錯(cuò)誤的表達(dá)式");
exit(-1);
}
}
ip++;
}
*sp?=?'\0';
puts(suffix);
return?0;
}