输入一个圆半径r,当10000=>r>0时,计算并输出圆的直径 面积 周长,每个数保留小数点后4位,输出结果在一行用空格隔开
#include <stdio.h>
int main() {
double r, diameter, area, circumference;
// 提示用户输入圆的半径
printf("请输入圆的半径:");
scanf("%lf", &r);
// 判断输入的半径是否在指定范围内
if (r > 0 && r <= 10000) {
// 计算圆的直径、面积和周长
diameter = 2 * r;
area = 3.1416 * r * r;
circumference = 2 * 3.1416 * r;
// 输出计算结果,保留小数点后 4 位,结果用空格隔开
printf("%.4lf %.4lf %.4lf\n", diameter, area, circumference);
} else {
// 如果半径不在指定范围内,则提示用户重新输入
printf("输入的半径不在有效范围内,请输入 0 到 10000 之间的值。\n");
}
return 0;
}
要求是计算一个分段函数, x*x*x + 1 当x>0时; y = 2x+1 当x<0时; 1.0 当x=0时;
#include <stdio.h>
int main() {
double x,y;
scanf("%lf",&x);
if(x<1){ //判断x的范围
y=x;
}else if(x>=1 && x<10){
y=2*x-1;
}else{
y=3*x-11;
}
printf("%0.2lf",y); //保留两位小数
return 0;
}
#include <stdio.h>
// 计算分段函数的值
double calculateY(double x) {
double y;
if (x > 0) {
y = x * x * x + 1;
} else if (x < 0) {
y = 2 * x + 1;
} else {
y = 1.0;
}
return y;
}
int main() {
double x;
// 获取用户输入的 x 值
printf("请输入 x 值:");
scanf("%lf", &x);
// 计算分段函数的值
double result = calculateY(x);
// 输出结果
printf("对应的 y 值为:%.4lf\n", result);
return 0;
}
给定一个整数,求出该整数,整数在1到100000000之间,输出该整数的各位数字之和。
#include <stdio.h>
// 计算整数各位数字之和的函数
int sumOfDigits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10; // 取出最低位数字并累加到总和中
n /= 10; // 将 n 的最低位去掉
}
return sum;
}
int main() {
int num;
// 获取用户输入的整数
printf("请输入一个整数:");
scanf("%d", &num);
// 计算整数各位数字之和
int sum = sumOfDigits(num);
// 输出结果
printf("该整数的各位数字之和为:%d\n", sum);
return 0;
}
设计一个自定义函数,实现两个字符串的拷贝
#include <stdio.h>
int strcpy(char *p1,char *p2);
int main(){
char str1[100],str2[100];
printf("请输入: ");
gets(str1);
strcpy(str1,str2);
printf("str2: %s",str2);
return 0;
}
int strcpy(char *p1,char *p2){
while (*p1!='\0'){
*p2++=*p1++;
}
*p2='\0';
}
设计一个函数,计算主函数中n个数组的平均值(规定所有数均为正整数),平均值通过形参返回给主函数,将大于平均值且接近平均值的数返回,并在主函数输出
#include <stdio.h>
// 计算数组的平均值和大于平均值且接近平均值的数
void calculateAverageAndCloseToAverage(int array[], int n, float *average, int closeToAverage[], int *closeCount) {
int sum = 0;
*closeCount = 0;
// 计算数组元素的总和
for (int i = 0; i < n; ++i) {
sum += array[i];
}
// 计算平均值
*average = (float) sum / n;
// 寻找大于平均值且接近平均值的数
for (int i = 0; i < n; ++i) {
if (array[i] > *average) {
closeToAverage[*closeCount] = array[i];
(*closeCount)++;
}
}
}
int main() {
int array[] = {10, 20, 30, 40, 50}; // 示例数组
int n = sizeof(array) / sizeof(array[0]);
float average;
int closeToAverage[n];
int closeCount;
// 调用函数计算平均值并找出大于平均值且接近平均值的数
calculateAverageAndCloseToAverage(array, n, &average, closeToAverage, &closeCount);
// 输出平均值
printf("数组的平均值为: %.2f\n", average);
// 输出大于平均值且接近平均值的数
printf("大于平均值且接近平均值的数有: ");
for (int i = 0; i < closeCount; ++i) {
printf("%d ", closeToAverage[i]);
}
printf("\n");
return 0;
}