【发布时间】:2015-07-12 16:14:52
【问题描述】:
我创建了一个名为 average 的函数来计算平均年龄。它是如何产生一个奇怪的负小数点的。它工作正常,直到我将 strcmp 函数提供给进入德克萨斯的人。年龄示例:20 50 20 30 和 40 生成平均年龄为 -243454739.00。 有人能指出我正确的方向吗,谢谢。
#include <stdio.h>
#include <string.h>
int main()
{
//function decleration
float average ( int A, int n);
//int deleceration
char names, states, statedata[100], namedata[100];
int agedata[100], age, count = 0, A, n, avg;
float a;
//Get User Input
printf("Enter Number of family members being enter into program \n");
scanf("%d", &n);
//Name Loop
for (names=0; names<n; ++names)
{
printf("Enter Family members name:\n");
scanf("%s", &namedata);
//Age Loop
for (age=0; age<1; ++age)
{
printf("Enter family members age:\n");
scanf("%d", &agedata[age]);
A +=agedata[age];
count= count + 1;
//State Loop
for (states=0; states<1; ++states)
{
printf("Enter Family members state:\n");
scanf("%s", &statedata);
//strcmp function for state name "Texas" Selection
if (strcmp(statedata,"texas")==0)
{
printf("Family members who live in texas\n");
printf("%s\n", namedata);
}
}
}
}
// Average function call
a = average(A, n);
printf("The average age is %.2f\n", a);
return 0;
}
//A declarator
float average( int A, int n){
float average;
average = A / n;
return average;
}
【问题讨论】:
-
请结束您的代码。更好的阅读,更容易理解,更少的错误......