- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浙江大学09计算机上机题(含答案)
xxx定律题目描述:
??? 对于一个数n,如果是偶数,就把n砍掉一半;如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数变为1为止。??? 请计算需要经过几步才能将n变到1,具体可见样例。
输入:
??? 测试包含多个用例,每个用例包含一个整数n,当n为0 时表示输入结束。(1=n=10000)
输出:
??? 对于每组测试用例请输出一个数,表示需要经过的步数,每组输出占一行。
样例输入:
3
1
0
样例输出:
5
0
#includestdio.h#includestdlib.h#includestring.hint n, step;int main() {? ? while (scanf(%d, n), n) {? ?? ???step = 0;? ?? ???while (n != 1) {? ?? ?? ?? ?if (n 1) {? ?? ?? ?? ?? ? n = 3 * n + 1;? ?? ?? ?? ?? ? n = 1;? ?? ?? ?? ?} else {? ?? ?? ?? ?? ? n = 1;? ?? ?? ?? ?}? ?? ?? ?? ?step++;? ?? ???}? ?? ???printf(%d\n, step);? ? }? ? return 0;}仅供参考
#include stdio.h
unsigned int count=0;
void odd(int);
void even(int);
int main(void){
? ? ? ? int a;
? ? ? ? while(scanf(%u,a)!=EOF a!=0){
? ? ? ? ? ? ? ? count=0;
? ? ? ? ? ? ? ? if(a==1){
? ? ? ? ? ? ? ? ? ? ? ? printf(%u\n,count);
? ? ? ? ? ? ? ? ? ? ? ? continue;
? ? ? ? ? ? ? ? }else if(a%2==0){
? ? ? ? ? ? ? ? ? ? ? ? even(a);
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? odd(a);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? printf(%u\n,count);
? ? ? ? }
? ? ? ? return 0;
}
void odd(int a){
? ? ? ? a=a*3+1;
? ? ? ? even(a);
}
void even(int a){
? ? ? ? if(a==2){
? ? ? ? ? ? ? ? count++;
? ? ? ? }else if(a%2==0){
? ? ? ? ? ? ? ? a/=2;
? ? ? ? ? ? ? ? count++;
? ? ? ? ? ? ? ? even(a);
? ? ? ? }else{
? ? ? ? ? ? ? ? odd(a);
? ? ? ? }
}
AC成功,分享一下
二、ZOJ
题目描述:
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入:
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。1=length=100。
输出:
对于每组输入,请输出一行,表示按照要求处理后的字符串。具体可见样例。
样例输入:
ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E
样例输出:
ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO
已ac#includestdio.h#includestring.hint main(){char a[101];int k,k1,k2,k3,i;while(scanf(%s,a)!=EOF){if(a[0]==E)return 0;else{k=-1+strlen(a);k1=k2=k3=0;for(i=0;i=k;i++){if(a[i]==Z)k1++;if(a[i]==O)k2++;if(a[i]==J)k3++;}if(k1=k2k2=k3){for(i=1;i=k3;i++)printf(ZOJ);for(i=1;i=k2-k3;i++)printf(ZO);for(i=1;i=k1-k2;i++)printf(Z);printf(\n);continue;}if(k1=k3k3=k2){for(i=1;i=k2;i++)printf(ZO
文档评论(0)