| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 710 人关注过本帖
标题:请教一下这程式码~~~
只看楼主 加入收藏
renhong999
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-1-30
收藏
 问题点数:0 回复次数:2 
请教一下这程式码~~~
主要有两行看不懂~
为何---sum+=(a[i]-'0')*(8-i);
       if(code==(a[7]-'0'))  後面要加-'0'呢?

程序如下:
#include<stdio.h>
main()
{
      char number[9];
      printf("enter the uniform number:");
      scanf("%s",number);
      if(valid(number));
      printf("the number %s is valid\n",number);
      else
      printf("the number &s is invalid\n",number);
}

int valid(char a[])
{
    int i,sum,code;
    sum=0;
    for(i=0,i<=6;i++)
    sum+=(a[i]-'0')*(8-i);
    code=sum%10;
    if(code==(a[7]-'0'))
       return (1);
    else
       return (0);
}

搜索更多相关主题的帖子: number 程式 sum valid 
2008-01-30 17:36
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
因为'0' != 0
程序我没看,但是按照问的问题看,输入的数据应该是字符(串),而处理时需要将字符(串)中的字符转换为数,因此需要减
'9'-'0'=9
'2'-'0'=2

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2008-01-30 19:34
renhong999
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-1-30
收藏
得分:0 
原来是要把字串转换成数值~~
谢谢~~
2008-01-31 15:25
快速回复:请教一下这程式码~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038025 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved