编写一个函数以从一个用户获得年龄(用户的输入以BOLD显示) 这是一个样本
有多少人: 3
输入人1的年龄: 12
输入人物2的年龄: 10
输入人3的年龄: 15
有3个人和年龄:12岁,10岁和15岁
我很困惑如何不使用数组来解决这类问题! PLZ帮助!!!
答案 0 :(得分:2)
Lashane建议:
使用不带数组的递归。
这是一个很棒的主意。这是你如何去做的。
#include <stdio.h>
void print_rec(int index, int maxindex)
{
int age;
printf("Enter age of person %d",index);
scanf("%d",&age);
if (index == maxindex)
{
printf("The ages are %d ",age);
return;
}
print_rec(index + 1, maxindex);
printf(",%d",age);
}
int main()
{
printf("Enter the number of people : ");
int num;
scanf("%d",&num);
print_rec(1,num);
return 0;
}
唯一的缺点是,它以反向顺序打印年龄。
答案 1 :(得分:1)
如果你需要存储它们你可以使用以下,这是嵌入式的做事方式。 :)
#include <stdio.h>
int main(void) {
long ages = 0;
int cnt = 0, i = 0, age = 0;
printf("How many people do you have? (8 maximumimum):\t");
scanf("%d", &cnt);
for(i = 0; i < cnt; ++i) {
printf("Enter the age of person: ");
scanf("%d", &age);
ages = ages | age;
ages <<= 8;
}
ages >>= 8;
for(; i; --i) {
printf("Age of person nubmer %d is %d\n", i, ages & 255);
ages >>= 8;
}
}
这可能对您没有帮助,但这是一种很酷的方式:)