Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.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
Objective c 使用scanf在循环中使用多个变量_Objective C_C - Fatal编程技术网

Objective c 使用scanf在循环中使用多个变量

Objective c 使用scanf在循环中使用多个变量,objective-c,c,Objective C,C,我是一个真正的编程初学者。我是说真正的初学者。我试图创建的代码是针对这个问题的:编写一个程序,提示用户10个年龄,然后计算并输出这些年龄的平均值。 您的程序中不应该有十条scanf语句。相反,scanf语句应该在一个循环中 我已经设法让循环运行,它要求语句,但我不知道如何让我的变量将最后输入的所有数字相加。取而代之的是,我只是删除变量中的旧数字并存储新的数字,所以当我到达末尾时,它会说总数是输入的最后一个数字 @autoreleasepool { int counter; in

我是一个真正的编程初学者。我是说真正的初学者。我试图创建的代码是针对这个问题的:编写一个程序,提示用户10个年龄,然后计算并输出这些年龄的平均值。 您的程序中不应该有十条scanf语句。相反,scanf语句应该在一个循环中

我已经设法让循环运行,它要求语句,但我不知道如何让我的变量将最后输入的所有数字相加。取而代之的是,我只是删除变量中的旧数字并存储新的数字,所以当我到达末尾时,它会说总数是输入的最后一个数字

@autoreleasepool 
{
    int counter;
    int ages;

    for (counter = 0; counter < 11; counter = counter +1) 
    {
        NSLog(@"Type your age:");
        scanf("%i", &ages);
    }
    NSLog(@" Average age is: %i", ages);
}
return 0;
@autoreleasepool
{
整数计数器;
智力;
用于(计数器=0;计数器<11;计数器=计数器+1)
{
NSLog(@“键入您的年龄:”);
scanf(“%i”和年龄);
}
NSLog(@“平均年龄为:%i”,年龄);
}
返回0;

就在这里。

请参见代码中的注释作为解释

@autoreleasepool {

    int counter;

    int ages;
   // add result variable
    int result = 0;

    for (counter = 0; counter < 11; counter = counter +1) {

        NSLog(@"Type your age:");

        scanf("%i", &ages);
        // Add the age to the result
        result += ages;
    }
    // Calculate average
    NSLog(@" Average age is: %f", result/10);

}
@autoreleasepool{
整数计数器;
智力;
//添加结果变量
int结果=0;
用于(计数器=0;计数器<11;计数器=计数器+1){
NSLog(@“键入您的年龄:”);
scanf(“%i”和年龄);
//将年龄添加到结果中
结果+=年龄;
}
//计算平均数
NSLog(@“平均年龄为:%f”,结果/10);
}

您可以在循环中求和,然后取平均值

int counter;
int ages;
int sum = 0;
for (counter = 0; counter < 10; counter = counter + 1) {
    NSLog(@"Type your age:");
    scanf("%i", &ages);
    sum += ages;
}
sum /= 10
NSLog(@" Average age is: %i", sum);
int计数器;
智力;
整数和=0;
用于(计数器=0;计数器<10;计数器=计数器+1){
NSLog(@“键入您的年龄:”);
scanf(“%i”和年龄);
总和+=年龄;
}
总和/=10
NSLog(@“平均年龄为:%i”,总和);

在计算平均值之前,您需要存储年龄总和:

int total;
此外,循环从
0
<10
,而不是
<11
(即11岁)

因此:

#define NUM_AGES 10

int main(int argc, const char **argv) {
    @autoreleasepool {
        int total = 0;
        for (int counter = 0; counter < NUM_AGES; counter++) {
            int age;
            NSLog(@"Type your age:");
            scanf("%i", &age);
            total += age;
        }

        NSLog(@" Average age is: %i", total / NUM_AGES);

    }
    return 0;
}
\define NUM\u年龄10
int main(int argc,常量字符**argv){
@自动释放池{
int-total=0;
用于(int计数器=0;计数器
非常感谢。只是想知道,行结果+=年龄是如何工作的?这就是你存储它的方式吗?如果是的话,你能告诉我它在未来是如何工作的吗?这行result+=ages是result=result+ages的缩写。还有像-=,*=,\=这样的短片,基本的都是一样的,例如a*=b等于a=a*b,等等。非常感谢。只是想知道,行total+=age是如何工作的?这就是你存储它的方式吗?如果是的话,你能告诉我它在未来是如何工作的吗?@user3283315这是
total=total+age
的缩写,就像
counter++
counter=counter+1
的缩写一样。非常感谢。只是想知道,行sum+=ages是如何工作的?这就是你存储它的方式吗?如果是的话,你能告诉我它对未来的作用吗?
sum+=ages
sum=sum+ages
的简化表达式,因此
sum/=10
相当于
sum=sum/10