C语言编程题01
本帖最后由 liyifeng295641 于 2024-1-3 15:45 编辑1. 输入一行字符,单词之间用一个空格分隔,统计其中有多少个单词。
2. 求一维数组 a 中的最小元素及其下标。
例如,当一维数组 a 中的元素为:1,4,2,7,3,12,5,34,5,9,程序的输出应为:The min is: 1,posis: 0 。数组 a 可直接在代码中赋值。
3. 写一个程序计算下列函数的值:
Sum(n, x) =
由用户输入 n 和 x,最终输出计算得到的值。 1. 统计单词个数的实现思路是:定义一个计数变量count,初始化为0。遍历输入的字符数组,如果当前字符不为空格且其前一个字符为空格或者为数组开始位置,则说明是一个新的单词的开始,将计数变量count加一。最后得到单词个数。
#include <stdio.h>
int countWords(char *str) {
int count = 0;
int i = 0;
while (str != '\0') {
if ((i == 0 || str == ' ') && str != ' ') {
count++;
}
i++;
}
return count;
}
int main() {
char str;
printf("请输入一行字符:");
gets(str);
int count = countWords(str);
printf("单词个数为:%d\n", count);
return 0;
}
2. 求最小元素及其下标的实现思路是:定义两个变量min和pos,分别用来记录当前最小元素的值和下标。遍历数组,比较每个元素与min的大小,如果找到更小的元素,则更新min和pos。最后得到最小元素和下标。
#include <stdio.h>
int main() {
int a[] = {1, 4, 2, 7, 3, 12, 5, 34, 5, 9};
int length = sizeof(a) / sizeof(int);
int min = a;
int pos = 0;
for (int i = 1; i < length; i++) {
if (a < min) {
min = a;
pos = i;
}
}
printf("最小元素为:%d, 下标为:%d\n", min, pos);
return 0;
}
3. 计算函数值的实现思路是:使用循环结构计算每一项的值,然后累加求和。根据函数的定义,使用一个循环从1到n进行遍历,计算每一项的值,并累加求和。
#include <stdio.h>
double sum(int n, double x) {
double result = 0.0;
for (int i = 1; i <= n; i++) {
double term = 1.0;
for (int j = 1; j <= i; j++) {
term *= x;
}
result += term;
}
return result;
}
int main() {
int n;
double x;
printf("请输入 n 和 x:");
scanf("%d %lf", &n, &x);
double value = sum(n, x);
printf("计算结果为:%lf\n", value);
return 0;
}
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]