1.使用函数判断完全平方数
本题要求实现一个判断整数是否为完全平方数的简单函数。
函数接口定义:
int IsSquare(int n);
其中n是用户传入的参数,在长整型范围内。如果n是完全平方数,则函数IsSquare必须返回1,否则返回0。
代码实现
#include <stdio.h> #include <math.h> int IsSquare(int n) { if (sqrt(n) == (int)sqrt(n)) { return 1; } return 0; } int main() { long int num = 0; printf("请输入你想判断的数字\n"); scanf("%d", &num); int judge = IsSquare(num); if (judge == 1) { printf("是完全平方数\n"); } else if (judge == 0) { printf("不是完全平方数\n"); } else { printf("输入错误"); } return 0; }
运行结果
2.求最大值及其下标
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式 :
输入在第一行中给出一个正整数n(1 < n≤10)。第二行输入n个整数,用空格分开。
输出格式 :
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
代码实现
#include<stdio.h> #define MAXN 10 int main() { int i, index, n; int a[MAXN]; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &a[i]); index = 0; for (i = 1; i < n; i++) { if (a[i] > a[index]) { index = i; } } printf("%d %d", a[index], index+1); return 0; }
运行结果
3.调和平均
N 个正数的算数平均是这些数的和除以 N,它们的调和平均是它们倒数的算数平均的倒数。本题就请你计算给定的一系列正数的调和平均值。
输入格式:
每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N(≤1000);第 2 行给出 N 个正数,都在区间[0.1, 100] 内。
输出格式:
在一行中输出给定数列的调和平均值,输出小数点后2位。
代码实现
#include <stdio.h> int main() { int n, i; float a, sum = 0; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%f", &a); sum += 1 / a; } printf("%.2f", 1 / (sum / n)); return 0; }