鱼C论坛

 找回密码
 立即注册
查看: 597|回复: 2

[已解决]请问这个程序用c语言怎么写

[复制链接]
发表于 2023-12-12 20:53:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入一个以回车结束的字符串(少于10个字符),它由数字字符组成,将该字符串转换成整数后输出。
输入输出示例:
Enter a string:123
Digit=123
最佳答案
2023-12-12 20:53:49
你好!下面是一个用C语言编写的程序,可以实现你的需求。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main() {
  4.     char str[10];
  5.     int num = 0;
  6.     printf("Enter a string: ");
  7.     fgets(str, 10, stdin);
  8.     for (int i = 0; str[i] != '\0'; i++) {
  9.         if (str[i] >= '0' && str[i] <= '9') {
  10.             num = num * 10 + (str[i] - '0');
  11.         }
  12.     }
  13.     printf("Digit=%d\n", num);
  14.     return 0;
  15. }
复制代码

这个程序中,我们首先定义了一个长度为10的字符数组 `str` 来存储用户输入的字符串。然后,使用 `fgets` 函数从标准输入中读取字符串,并将其存储到 `str` 中。

接下来,我们使用一个循环遍历 `str` 中的每一个字符。如果某个字符是数字字符(ASCII码值在 `'0'` 和 `'9'` 之间),则将其转换成对应的数字,并累加到变量 `num` 中。

最后,我们使用 `printf` 函数输出结果。

希望能够帮到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-12 20:53:49 | 显示全部楼层    本楼为最佳答案   
你好!下面是一个用C语言编写的程序,可以实现你的需求。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main() {
  4.     char str[10];
  5.     int num = 0;
  6.     printf("Enter a string: ");
  7.     fgets(str, 10, stdin);
  8.     for (int i = 0; str[i] != '\0'; i++) {
  9.         if (str[i] >= '0' && str[i] <= '9') {
  10.             num = num * 10 + (str[i] - '0');
  11.         }
  12.     }
  13.     printf("Digit=%d\n", num);
  14.     return 0;
  15. }
复制代码

这个程序中,我们首先定义了一个长度为10的字符数组 `str` 来存储用户输入的字符串。然后,使用 `fgets` 函数从标准输入中读取字符串,并将其存储到 `str` 中。

接下来,我们使用一个循环遍历 `str` 中的每一个字符。如果某个字符是数字字符(ASCII码值在 `'0'` 和 `'9'` 之间),则将其转换成对应的数字,并累加到变量 `num` 中。

最后,我们使用 `printf` 函数输出结果。

希望能够帮到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-19 17:41:03 | 显示全部楼层
在C语言中,你可以使用`sscanf`函数来实现,代码可能如下:


  1. #include <stdio.h>

  2. int main() {
  3.     char str[11];
  4.    
  5.     printf("Enter a string:");
  6.     fgets(str, 11, stdin);
  7.    
  8.     int number;
  9.     sscanf(str, "%d", &number);
  10.    
  11.     printf("Digit=%d\n", number);
  12.    
  13.     return 0;
  14. }
复制代码

这段代码首先使用`fgets`函数,从标准输入`stdin`中获取一个字符串,并将这个字符串存储在`str`数组中。这个字符串至多包含10个字符(我们还需要为字符串末尾的'\0'字符预留一个位置),然后使用sscanf函数将这个字符串转换成整数。整数值被存储在number变量中。最后,我们使用printf函数打印出整数值。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 18:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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