讲评--表2讲述.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1002:特殊的数字 ?Problem Description 今天我们来找一下“特殊的数字”。这里“特殊的数字”的定义是该数字每一位上的数都是互不相同的整数,而且该数字是没有前导零的非负整数。例如:13520就是一个“特殊的数字”,而1314就不是。 现在给你一个整数N,你要做的工作就是算出比N小的“特殊的数字”共有多少个? ?Input 输入多组测试数据,每组测试数据占一行,每行输入一个整数N(0N=100000),总的测试数据不会超过300个。 ?Output对于每组测试数据,输出比N小的“特殊的数字”的个数,每个输出占一行。 ?Sample Input 11 12 21 22 ?Sample Output 10 10 19 20 #includeiostream using namespace std; int main() { int n,num,i,t,a[10],j,k,l,flag; while(cinn) { num=0; for(i=1;in;i++) { t=i; flag=0; memset(a,0,sizeof(a)); while(t) //判断每个t是否为“特殊的数字” { j=t%10; if(a[j]==0) a[j]=1; else { flag=1;break; } t=t/10; } if(flag==0) num++; } coutnumendl; } return 0; } 1008:单链表中删除重复值 ?Problem Description 设计算法实现在单链表中删去相同的多余结点,然后按从小到大输出,如若单链表中不存在相同的结点,则直接从小到大输出单链表。 ?Input 输入数据有多组。每组数据包括2行,第一行表示单链表的长度n(不会超过100);第二行表示单链表的所有元素。 ?Output 输出执行操作后的单链表。每个结果占一行。 ?Sample Input 5 1 3 7 3 9 5 1 3 5 7 9 ?Sample Output 1 3 7 9 1 3 5 7 9 #includeiostream using namespace std; struct Node { int data; Node *next; }; class LinkList { public: LinkList(int a[ ], int n); void PrintList( ); void Delete(); void Sort(); private: Node *first; int len; }; LinkList::LinkList(int a[ ], int n) { first=new Node; Node *r,*s; r=first; for (int i=0; in; i++) { s=new Node; s-data=a[i]; r-next=s; r=s; } r-next=NULL; len=n; } void LinkList::PrintList( ) { Node *p; p=first-next; if(p) { coutp-data; p=p-next; while (p) { cout p-data; p=p-next; } coutendl; } } void LinkList::Delete() { Node *p,*q; if(first-next) { p=first-next; q=p-next; while(q) { Node *t=first-next; while(t!=q) { if(t-data==q-data) break; else t=t-next; } if(t!=q)//有重复 { p-next=q-next; delete q; q=p-next; len--; } else { p=q; q=p-next; } } } } void LinkList::Sort() { int i,j,t; Node *p,*q; for(i=0;ilen-1;i++) { p=first-next; q=p-next; for(j=0;jlen-i-1;j++) { if(p-dat

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档