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 10int 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;
}