C语言,为什么无法输出结果?

C语言,为什么无法输出结果?

关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 m0_74681057 2024-03-20 11:21

采纳率: 70%

浏览 14 首页

编程语言

C语言,为什么无法输出结果? c语言

#include

int main()

{

int a, b[6] = { 0 }, c[6] = { 0 }, i, sum, j;

scanf("%d", &a);

getchar();

for (i = 1;i <= 5;i++)

{

scanf("%d", &b[i]);

}

getchar();

for (i = 1;i <= 5;i++)

{

scanf("%d", &c[i]);

}

sum = 3 * (a + b[2] + b[4] + c[1] + c[3] + c[5]) + (b[1] + b[3] + b[5] + c[2] + c[4]) - 1;

j = 9 - (sum % 10);

printf("%d", j);

return 0;

}

收起

写回答

好问题

0 提建议

关注问题

微信扫一扫 点击复制链接 分享 邀请回答

编辑 收藏 删除 结题 收藏 举报 结题 再想想 删除 再等等 4条回答 默认 最新 关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-03-20 11:22 关注 让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言问题:请说明这段代码的功能是什么,输入、输出是什么,该代码有哪些问题需要修正。

功能:计算一段身份证号码的末尾一位校验码。

输入:从标准输入中读取一个整数和10个数字。

输出:将计算出的校验码输出到标准输出中。

问题:该代码存在以下问题需要修正:

数组b和数组c的大小都应该是6而不是5。在输入数字时没有提示用户应该输入什么。没有检查输入的数字是否合法。变量sum的计算方法不够清晰,考虑将其拆分为多个步骤。没有考虑输入的整数不是身份证号码的前六位的情况。没有考虑计算出的校验码超过一位数的情况。 修正后的代码如下:

#include

int main() {

int prefix, digits[6] = {0}, i, sum, check_digit;

printf("请输入身份证号码的前六位:\n");

scanf("%d", &prefix);

printf("请输入身份证号码的后十位数字,每一位数字用空格分隔:\n");

for (i = 1; i <= 6; i++) {

scanf("%d", &digits[i]);

if (digits[i] < 0 || digits[i] > 9) {

printf("输入的数字不合法!\n");

return 0;

}

}

for (i = 1; i <= 6; i++) {

scanf("%d", &digits[i+6]);

if (digits[i+6] < 0 || digits[i+6] > 9) {

printf("输入的数字不合法!\n");

return 0;

}

}

sum = 3 * (prefix/10000 + digits[2] + digits[4] + digits[7] + digits[9] + digits[11])

+ digits[1] + digits[3] + digits[5] + digits[8] + digits[10];

check_digit = 10 - sum % 10;

if (check_digit == 10) {

check_digit = 0;

}

printf("身份证号码的校验码为:%d\n", check_digit);

return 0;

}

本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?

解决

无用

评论

打赏

微信扫一扫 点击复制链接 分享 举报

评论

按下Enter换行,Ctrl+Enter发表内容

查看更多回答(3条)

向“C知道”追问

报告相同问题?

提交

关注问题

删除 再等等 再想想 采纳 什么是C语言?什么是VB语言?什么是VF语言?什么是JAVA语言?什么是C++语言?.pdf 2021-09-30 19:34 C语言是一种高级编程语言,能够直接访问和控制计算机硬件资源,例如寄存器、内存和输入/输出设备。C语言是一种通用的编程语言,广泛应用于操作系统、应用程序和嵌入式系统等领域。 什么是VB语言?VB语言是一种高级... C语言和其他编程语言相比有什么优点,并举例说明C语言编写代码的过程.docx 2023-08-02 15:47 C语言是一种强大的编程语言,以其高效、灵活性和广泛的应用范围而闻名。相比于其他编程语言,C语言具有以下几个显著的优点: 1. **直接内存操作**:C语言允许程序员直接操作内存,通过指针变量来访问和修改内存地址... c语言是高级编程语言吗,C语言是高级编程语言吗? 2021-05-24 05:44 超级吐槽段子手的博客 C语言是高级编程语言吗?C语言是高级编程语言,高级语言主要是相对于汇编语言而言,基本脱离了机器的硬件系统,用于更易理解的方式编写程序,C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高... 为什么C语言是最好的入门编程语言? 2019-05-12 10:10 Cc爱樱花祭的博客 C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程... C语言编程为什么打不出中文,为什么中文不能用来编程呢? 2021-05-20 18:29 迈瑞婚礼的博客 作为一名专门搞编程的科研工作者,我倒想用中文来编程,再也不用看英语了。下面很多同学清一色的说有国产编程软件,我瞅了一下,...1. 英语编程语言起步早,目前已经在全世界范围内普及,不光如此,基于c语言,jav... c语言低级语言分为,认识C语言

-低级语言是什么? 2021-05-21 04:54 comes by的博客 通过之前的学习我们知道了计算机做任何工作都是由存储在其中的程序来控制的,而程序(Program)是由一...代码清单 1:机器语言代码片段00000000 00111110 1100111100000010 11010011 0000000000000100 00111110 111111... C语言中函数是什么?编程中的函数与数学中的函数区别?理解编程语言中的函数 2022-06-23 15:20 差你一面之缘的博客 编程语言的函数是什么?方法是什么?方法和函数的区别... c是高级程序语言吗,C语言是高级编程语言吗? 2021-05-19 17:33 我不是蟾蜍先生的博客 C语言是高级编程语言吗?C语言是高级编程语言,高级语言主要是相对于汇编语言而言,基本脱离了机器的硬件系统,用于更易理解的方式编写程序,C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高... 【函数式编程】什么是函数式编程? C语言为何不是函数式语言? 2020-05-12 22:04 bandaoyu的博客 什么是函数式编程? C语言为何不是函数式语言? 函数式语言有两个个主要的特点:1. 函数是“头等公民”。2. 数据的“immutability”. 操作的“无副作用”, 这规避了‘锁’。 函数式编程的函数是指数学上的函数:... C语言输入输出思维导图 2024-10-22 12:33 主要内容: scanf使用方法 printf使用方法 使用人群: 初学C语言

没有解决我的问题,

去提问

相关内容

如何做到善用人才?
365bet登录

如何做到善用人才?

⌚ 07-25 👁️‍🗨️ 5966
打印证书的详细步骤与技巧:从设计到后期处理全解析
365bet登录

打印证书的详细步骤与技巧:从设计到后期处理全解析

⌚ 01-24 👁️‍🗨️ 1032

友情链接