鱼C论坛

 找回密码
 立即注册
查看: 1531|回复: 1

[已解决]C语言编程题01

[复制链接]
发表于 2023-12-27 17:08:09 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 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) = Screenshot 2023-12-27 at 17.07.13.png

由用户输入 n 和 x,最终输出计算得到的值。
最佳答案
2023-12-27 17:08:10
1. 统计单词个数的实现思路是:定义一个计数变量count,初始化为0。遍历输入的字符数组,如果当前字符不为空格且其前一个字符为空格或者为数组开始位置,则说明是一个新的单词的开始,将计数变量count加一。最后得到单词个数。
#include <stdio.h>int countWords(char *str) {    int count = 0;    int i = 0;        while (str[i] != '\0') {        if ((i == 0 || str[i-1] == ' ') && str[i] != ' ') {            count++;        }        i++;    }        return count;}int main() {    char str[100];    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[0];    int pos = 0;    for (int i = 1; i < length; i++) {        if (a[i] < min) {            min = a[i];            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. 统计单词个数的实现思路是:定义一个计数变量count,初始化为0。遍历输入的字符数组,如果当前字符不为空格且其前一个字符为空格或者为数组开始位置,则说明是一个新的单词的开始,将计数变量count加一。最后得到单词个数。 2. 求最小元素及其下标的实现思路是:定义两个变量min和pos,分别用来记录当前最小元素的值和下标。遍历数组,比较每个元素与min的大小,如果找到更小的元素,则更新min和pos。最后得到最小元素和下标 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-27 17:08:10 | 显示全部楼层    本楼为最佳答案   
1. 统计单词个数的实现思路是:定义一个计数变量count,初始化为0。遍历输入的字符数组,如果当前字符不为空格且其前一个字符为空格或者为数组开始位置,则说明是一个新的单词的开始,将计数变量count加一。最后得到单词个数。
#include <stdio.h>int countWords(char *str) {    int count = 0;    int i = 0;        while (str[i] != '\0') {        if ((i == 0 || str[i-1] == ' ') && str[i] != ' ') {            count++;        }        i++;    }        return count;}int main() {    char str[100];    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[0];    int pos = 0;    for (int i = 1; i < length; i++) {        if (a[i] < min) {            min = a[i];            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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 08:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表