1054 求平均值

it2022-05-09  69

题目传送门 sscanf() – 从⼀一个字符串串中读进与指定格式相符的数据 sprintf() – 字符串串格式化命令,主要功能是把格式化的数据写⼊入某个字符串串中

#include <iostream> #include <cstdio> #include <string.h> using namespace std; int main() { int n, cnt = 0; cin >> n; char a[50], b[50]; double t, sum = 0; for (int i = 0; i < n; i++) { scanf("%s", a); sscanf(a, "%lf", &t); sprintf(b, "%.2f", t); int flag = 0; for (int j = 0; j < strlen(a); j++) { if (a[j] != b[j]) { flag = 1; break; } } if (t < -1000 || t > 1000 || flag) { printf("ERROR: %s is not a legal number\n", a); continue; } else { sum += t; cnt++; } } if (cnt == 1) { printf("The average of 1 number is %.2f", sum); } else if(cnt > 1) { printf("The average of %d numbers is %.2f", cnt, sum / cnt); } else { printf("The average of 0 numbers is Undefined"); } return 0; }

最新回复(0)