include<iostream>#include<cstring>#include<algorithm>using namespace std;#define maxn 505#define maxf 10005 // Min数组大小应该要有f的最大值那么大// 避免使用inf这样容易错的东西,可以用-1来代替int Min[maxf], t, e, f, n, p, w, price[maxn], weight[maxn];int main(){cin...
同学,你用你的程序输入2 999看得多少……错了吧!这是典型的大数加法,你的程序问题出在这里: if(c[i]-'0'+d[i]-'0'>9)for(i=1009;i>=1010-len;i--),len是两者最大长度,当i超过短的那个串的长度后,等于只剩下长的在运算,长的怎么运算?要加上前面的进位,应该改为if(c[...
Q.push(MK(curx, cury)); } } } } if (stp[n - 1][m - 1] != 0x3f3f3f3f) { printf("It takes %d seconds to reach the target position, let me show you the way.\n",stp[n - 1][m - 1]); dfs(n - 1,m - 1,stp[n - 1][m - 1...
还有第一个字符判断后如果j=0,又没有跳到后面,可能在for循环里又把j改成1
当a很大时,比如a=2^20时,a*a和a*a*a会溢出 实际上影响最后最后一位的只有原值中的最后一位,所以直接在while开始后的第一行加上a%=10;剩下的不变应该也就成了。同时输出的时候要符合题目要求的格式,所以对每个case的结果输出后要换行的,printf语句中要用%d\n 格式。
n*(1+n) 这可能会超出 Int 类型的范围 题目只是说n*(1+n)/2不会超过。先判断 n、(1+n) 那个是偶数。偶数那个除以2 再相乘
2]=y[0];while(--n){ scanf("%d%d",&x[1],&y[1]);s+=x[0]*y[1]-x[1]*y[0];x[0]=x[1];y[0]=y[1];} s+=x[0]*y[2]-x[2]*y[0];printf("%.1lf\n",s/2);} } return 0;} 我的这个对的。这题用海伦公式做好,你自己百度下海伦公式吧,应该知道了。
j=0的位置错了,放在while循环刚开始就可以 ,不然假设你第一次有水仙花数,第二次输入没,但它第二次也不会提示no的 ,因为j!=0 ,不过你的程序就算改了我说的,交上去虽然不是WA,但也会是PE,下面是我的代码:include<stdio.h> int main(){ int m,n,i,a,b,c,count,s[1000]={0}...
1.数组定义用double啊,和可能爆int的。。2.求平均值的地方除错了啊。。再想想。。我帮你改了一下,已经AC了,你可以参考一下。。include <stdio.h> include <math.h> int main(int argc, const char * argv[]) { // insert code here...int m,n,t,p;double h[100],l[100];doubl...
输出的是解药的浓度,跟体积是没有关系的。printf("%d %.2lf\n",j*v,1.0*(s-a[j])/(j*v)); ==>printf("%d %.2lf\n",j*v,1.0*(s-a[j])/(j*100));printf("%d %.2lf\n",n*v,1.0*s/(n*v));==> printf("%d %.2lf\n",n*v,1.0*s/(n*100));