输入超过int最大长度问题

hjk_thinking 2008-08-01 08:44:53
飞机票有冗长的标示数字,例如47715497443,为了有效,最后一个数字必须与其他的数字为整体除以7后的余数相匹配。(例如4771549744 除以7的 余数为3.)编写程序检查机票号是否有效:
enter: 47715497443
VALID

~~~~
书上提示用 getchar()做、getchar()不是读字符而已吗?
我想用数组做,但是用循环输入的时候用的是scanf一个个输入到数组中
要输入一个 敲一次回车
有没有单个读入不用回车的?


希望给出 你们的算法代码,或者意见
~~~~~~~~~~

谢谢
...全文
517 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjk_thinking 2008-08-04
  • 打赏
  • 举报
回复
谢谢!

是 作业题


是 想过了 !没想出来的!
gxd305 2008-08-01
  • 打赏
  • 举报
回复
strtol
strtoll
ChamPagneZ 2008-08-01
  • 打赏
  • 举报
回复

scanf("%lld",&ID)!=EOF;
K行天下 2008-08-01
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char ch = '0';
char prefix[3] = "0";
char str[2]={ch,'\0'};
int temp, remainder;
while((ch = getchar())!='\n')
{
if(ch<'0'||ch>'9')
{
printf("error input!\n");
return -1;
}
str[0] = ch;
temp = atoi(strcat(prefix,str));
remainder = temp%7;
prefix[0] = remainder+48;
prefix[1] = '\0';
}

if(temp - temp/10*10 == int(str[0])-48)
printf("valid\n");
else
printf("invalid\n");
}

zzc1986 2008-08-01
  • 打赏
  • 举报
回复
atoi()函数转换来
赵Andy 2008-08-01
  • 打赏
  • 举报
回复
书上的练习题?最好自己好好想想。空格可心吗?
lijun2008bupt 2008-08-01
  • 打赏
  • 举报
回复
atol
wangdeqie 2008-08-01
  • 打赏
  • 举报
回复
又见作业题~~~up

70,036

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧