Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 循环结束后重置该值_C_Loops - Fatal编程技术网

C 循环结束后重置该值

C 循环结束后重置该值,c,loops,C,Loops,我想将n重置为用户输入的第一个值 例如,我输入3,程序希望我输入3个要相加的数字。但是,当for循环结束时对n进行迭代时,它被设置为零 当我打印出n时,我希望它被视为3,这是用户给定的原始值。由于它保持为0,我也找不到这些数字的平均值,因为sum/0是未知的 #include <stdio.h> int main(){ int sum=0; int n; int entered=0; printf("How many numbers to be su

我想将
n
重置为用户输入的第一个值

例如,我输入3,程序希望我输入3个要相加的数字。但是,当for循环结束时对
n
进行迭代时,它被设置为零

当我打印出
n
时,我希望它被视为3,这是用户给定的原始值。由于它保持为0,我也找不到这些数字的平均值,因为sum/0是未知的

#include <stdio.h>

int main(){
    int sum=0;
    int n;
    int entered=0;
    printf("How many numbers to be summed up:");
    scanf("%d",&n);
    for(;n>0;n--){
        printf("Enter the number to be summed up:");
        scanf("%d",&entered);
        sum+= entered;
    }
    printf("Number of Entries:%d\nSum of the Entered numbers:%d",n,sum);
    printf("Average:%d",sum/n);
    return 0;
}
#包括
int main(){
整数和=0;
int n;
输入的int=0;
printf(“要加多少个数字:”);
scanf(“%d”和“&n”);
对于(;n>0;n--){
printf(“输入要求和的数字:”);
scanf(“%d”,输入(&d));
总和+=已输入;
}
printf(“条目数:%d\n条目数的数量:%d”,n,总和);
printf(“平均值:%d”,总和/n);
返回0;
}

使用其他变量作为循环迭代器
对于(i=0;i
@kiranBiradar,你应该将其作为答案发布出来。另一种方法(尽管比@kiran建议的方法更不传统)是简单地使用另一个变量来保存n的“原始”值。如果我们将其声明为
int saved
和have(在
scanf
for
语句之间):
saved=n
然后我们可以通过使用
sum/saved
而不是
sum/n
@Martin获得平均值。我试图找到好的副本,但没有找到一个。这解释了basic.for(i=0;i