简单实验,粗心造成失误
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a, b, n;
int sum = 0;
printf(“输入a的值和位数n:”);
scanf_s("%d,%d", &a,&n);
for (b = 1; b <= n; b++) //如果这里要在for里加sum=0的话,要用“,”不要用“;”同类用“,”。
sum = sum + a;
a = a * 10 + a;
printf(“sum=%d”, sum);
system(“pause”);
return 0;
}
看着很多错误,然而就只是一个毛病。
int main()
{
int i, j, n, a[101];
for (i = 0; i <= 100; i++)
a[i] = i;
a[1] = 0;
for (i = 2; i < sqrt(100); i++) //这里改为sqrt(100.0)就正确啦
for (j = i + 1; j <= 100; j++){
if (a[i] != 0 &&a[j] != 0)
if (a[j] % a[i] == 0)
a[j] = 0;
}
printf("\n");
for (i = 2, n = 0; i <= 100; i++) {
if (a[i] != 0) {
printf("%5d", a[i]);
n++;
}
if (n == 10){
printf("\n");
n=0;
}
}
printf("\n");
system(“pause”);
return 0;
}
这个错误的原因就在于,sqrt不能用整形!!!不能用整形!!!
改正后: