蓝桥杯 C++ 验证18身份证
2013-12-08 13:39
423 查看
//本人是根据题目分析做的答案,可能不同的人对题目理解不也一样但是程序结构基本一致;
//输入18位数字,要求奇数位的数字和平均值x,偶数位的数字乘以3 后个位数字和平均值y
//x+y 的值如是10的倍数则返回正确否则返回错误:
#include"iostream.h"
#include"stdio.h"
main()
{ cout<<"insert:"<<endl;
int a[18],count=0,coun=0,c,sum=0,cn,i=0;
double x,y;
for(i;i<18;i++)
a[i]=(int)getchar()-48;
for(int j=1;j<18;j+=2)
count=count+a[j];
x=(count*1.0)/9;
for(int z=0;z<18;z+=2)
{ coun=(a[z]*3);
if(coun<10)cn=coun;
else cn=coun%10;
sum=cn+sum;
}
y=(sum*1.0)/9;
c=(int)(x+y);
if(c%10==0)cout<<"正确"<<endl;
else cout<<"错误"<<endl;
return 0;
}
//输入18位数字,要求奇数位的数字和平均值x,偶数位的数字乘以3 后个位数字和平均值y
//x+y 的值如是10的倍数则返回正确否则返回错误:
#include"iostream.h"
#include"stdio.h"
main()
{ cout<<"insert:"<<endl;
int a[18],count=0,coun=0,c,sum=0,cn,i=0;
double x,y;
for(i;i<18;i++)
a[i]=(int)getchar()-48;
for(int j=1;j<18;j+=2)
count=count+a[j];
x=(count*1.0)/9;
for(int z=0;z<18;z+=2)
{ coun=(a[z]*3);
if(coun<10)cn=coun;
else cn=coun%10;
sum=cn+sum;
}
y=(sum*1.0)/9;
c=(int)(x+y);
if(c%10==0)cout<<"正确"<<endl;
else cout<<"错误"<<endl;
return 0;
}
相关文章推荐
- 1570C旅行(关于路径条数问题)
- N阶楼梯上楼问题
- VC++更改AfxMessageBox的标题
- Visual C++开发数据库的技术介绍
- VC/C++中_variant_t转换为CString
- c++ 之类的前置声明
- C++读取unicode文本
- C++多线程面向对象封装
- C++必知必会之(27)能力查询
- 嵌入式学习之路(四)——使用vi编写c程序
- c++ string 结束符‘\000’
- Standard C++ Programming: Virtual Functions and Inlining
- C++各大有名科学计算库(转)
- c++返回值与引用
- libxml2库函数的解析
- C++中cout和printf在vc6.0中的区别
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- C++中的输入、输出格式
- 嵌入式学习之路(三)——Unix命令的学习(2)
- C++中的注意事项