arrays - 浮点数组的每个元素的总和似乎不起作用
问题描述
所以,感谢您在我的代码以前的问题中提供的帮助。但在这里我遇到了另一个问题。我希望这是最后一个。我不知道为什么 C 对我来说一直很痛苦。我真的更喜欢 Python。无论如何,这里的问题是浮点数组似乎没有存储输入值,因为当我尝试将所有值相加到“promedio”变量中时,结果不会为零。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main(void){
printf("Este programa captura el nombre de un alumno \n");
printf ("y cuatro de sus materias y sus respectivas notas\n");
printf ("Nota: El programa solo toma en cuenta los dos primeros\n");
printf ("decimales de la notas expresada.\n\n");
char alumno[40];
char mat[4][20];
float calif[4];
float promedio;
char beca[50];
int i;
printf("Ingresa el nombre del alumno: ");
fgets(alumno, 40, stdin);
while (strcmp(alumno,"\n") == 0){
printf("\nError. El alumno debe de llevar un nombre.");
printf ("\nTrata nuevamente\n\n");
printf("Ingresa el nombre del alumno: ");
fgets(alumno, 40, stdin);
}
for(i = 0; i < 4; ++i){
printf("Ingresa el nombre de la materia %d: ", i+1);
fgets(mat[i], 20, stdin);
while (strcmp(mat[i], "\n") == 0){
printf("\nError. Las materias deben ser declaradas.");
printf ("\nTrata nuevamente.\n\n");
printf("Ingresa el nombre de la materia %d: ", i+1);
fgets(mat[i], 20, stdin);
};
printf("Ingrese la nota correspondiente a esta materia (0-10): ");
scanf("%f", &calif[i]);
getchar();
float promedio = promedio + round(calif[i]*100);
while (calif[i]<0 || calif[i]>10){
printf("\nError. Debe ingresar una nota entre 0 y 10.");
printf ("\nTrata nuevamente.\n\n");
printf("Ingrese la nota correspondiente a esta materia (0-10): ");
scanf("%f", &calif[i]);
getchar();
};
};
promedio = promedio / 4 / 100;
if(promedio<8){
char beca[] = "No cumple el promedio para tener derecho a beca";
if(promedio>= 8 && promedio < 9){
char beca[] = "30%";
if(promedio>=9 && promedio<=10){
char beca[] = "50%";
}
else{
printf("Error en el cálculo de la beca");
};
};
};
printf("%.2f", &promedio);
printf("%s", &beca);
return 0;
};
解决方案
推荐阅读
- android - DisplayAlert 不显示按钮
- python - 尝试找出用户的全球平均评分时出现 KeyError
- javascript - 如何在单个有效负载中创建 Mongoose 一对多关系实体?
- kubernetes - kubernetes make error:touch: _output/bin/prerelease-lifecycle-gen: No such file or directory
- ios - 是否可以在 iOS 上的 WKWebView 中访问相机?
- c++ - 同时处理2条消息
- vue.js - Vue中的CKEditor 4 - 如何防止断字?
- python - 在 Shapely/python 中合并关闭相似的线串
- firebase - 如何在不使用 Flutter 中的 FutureBuilder 或 StreamBuilder 的情况下从 Firebase 获取单个数据
- r - R中的Python f-string等价物?