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