gpt4 book ai didi

c - 对如何完成计划感到不知所措

转载 作者:行者123 更新时间:2023-11-30 21:44:56 25 4
gpt4 key购买 nike

您将编写一个程序,使用 getch() 函数从键盘读取字符。所有小写​​字母将转换为大写并打印到使用 putchar() 函数显示。所有大写字母都将使用 putchar() 打印。所有单独的数字将被累加,总和将打印在末尾使用 printf() 的程序。您将编写一个函数来返回字母的大写并第二个函数接收当前总和和字符数字。皈依者digital 函数将字符数字转换为十进制值并累加该数字返回新总和的总和。只会打印出字母,不会打印出其他内容。该程序将继续进行,直到收到返回结果,此时数字之和将打印在下一行。输入的内容:a9 wF23’;/4i该行实际显示的内容:aA9wWFiI各位数字之和为:18

到目前为止我所拥有的框架。

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int uppercaseconversion (int c);


int digitconversion (int sum, int c);



int main()
{

int c, upper;
int sum = 0;


printf("Please enter a character or characters ");

while (c !='\n') {
c = getch();

// Check for a digit
if isdigit(c)
{
digitconversion (sum, c);
continue;
}

// If lowercase, convert to upper case




if (islower(c) )
{
c = uppercaseconversion (int c);
}
if (isupper(c))
{
putchar(c);
}

printf("The sum of the digits is %d\n", sum);






return 0;
}

int uppercaseconversion (int c);
{
c = toupper(c);
return c;
}

int digitconversion (int sum, int c);
{

sum += c - '0';

return sum;
}

也是在重新阅读程序描述之后。我必须使用 putchar() 输出字符,然后打印总和。由于我使用 char 而不是字符串输出,我想我必须打印出每个循环,否则值会丢失?

然后,当按下 Enter 或 Return 时,最终会打印总和。

我不必打印实际输入的内容。我认为教授添加了这个作为例子。

****上面的代码是我的。目前已突破line 57 1 F:\group2 allocate\main.c [错误] 预期标识符或“{”标记之前的“(”

我被告知这是因为 getch() 是一个非标准函数。

最佳答案

你可以试试这个...

printf("Please enter a character or characters ");
while (c !='\n') {
c = getch();

// Check for a digit
if isdigit(c){
sum += c - '0';
continue;
}

// If lowercase, convert to upper case
if islower(c) c = toupper(c);
if isupper(c) putchar(c);

}

编辑:

实际上,继续不是必需的,因为我们正在检查我们打印的内容...

printf("Please enter a character or characters ");
while (c !='\n') {
c = getch();

// Check for a digit
if isdigit(c) sum += c - '0';

// If lowercase, convert to upper case
if islower(c) c = toupper(c);
if isupper(c) putchar(c);

}

关于c - 对如何完成计划感到不知所措,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com