实验三

这个我明明输进去的是一个可以有解的二次方程但是结果出不来,这个我没改过老师的代码啊。疑惑?

#include <stdio.h> #include <stdlib.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; while(n<5) { n++; printf("输入第%d个数: ", n); scanf("%d", &number); if(number>=max) max = number; else if(number<=min) min = number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); system("pause"); return 0; }

#include<stdio.h> #include<math.h> int isprime(int n); int main() { int i; int cnt=0; for(i=101;i<=200;i++) { if(isprime(i)) { cnt++; printf("%4d",i); } } printf("%4d",cnt); return 0; } int isprime(int n) { int k; for(k=2;k<=sqrt(n);k++) if(n%k==0) return 0; return 1; }

这个我做一开始把cnt的输出放到了for循环里面(但是cnt++得整进去),所以每个数字后面就输出了一个cnt,后面改了,但是我想把那个个数和上面的素数分开没搞成。
#include<stdio.h> #include<stdlib.h> int main() { long int a; int i,s,l; s=1;l=0;i=1; scanf("%ld",&a); while(s!=0) { s=a%10; a=a/10; if(s%2==1) { l+=i*s; i*=10; } } printf("%d",l); return 0; }

这个前面两个都可以正确,后面数位一多就错了,这是为什么?数位太长了吗?
浙公网安备 33010602011771号