输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数
来源:互联网 发布:sql字符串拼接 编辑:程序博客网 时间:2024/04/30 01:58
输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
初玩can,接触第三天的一道水题
第一程序为最初所写,第二个为参考优化后,
#include"stdio.h"
main()
{
char c;
while((scanf("%c",&c))!=EOF)
{
char a[1300];
long long int b[1300],sum=0;
int state=0,temp,k=0,i,j,l;
for(i=0;c!='\t'&&c!='\n'&&c!=' ';i++)
{
a[i]=c;
scanf("%c",&c);
}
a[i]='\0';
for(j=0;j<i;j++)
{
if(a[j]=='5')
{
if(state==1)
b[k++]=sum;
state=0;
sum=0;
}
else if(a[j]=='0')
{
state=1;
sum=sum*10+a[j]-'0';
}
else
{
sum=sum*10+a[j]-'0';
state=1;
}
}
if(state==1)
b[k++]=sum;
k--;
for(j=0;j<k;j++)
for(l=0;l<k-j;l++)
{
if(b[l]>b[l+1])
{
temp=b[l];
b[l]=b[l+1];
b[l+1]=temp;
}
}
for(i=0;i<=k-1;i++)
{
printf("%lld ",b[i]);
}
printf("%lld\n",b[i]);
}
}
2.
#include"string.h"
main()
{
char s[5005];
while(scanf("%s",s)!=EOF)
{
int a[5005];
n=0;
k=0;
len=strlen(s);
s[len]='5';
i=0;
while(s[i++]=='5'); //跳过前缀5,防止多输出0
for(i--;i<=len;++i)
{
if(i>0&&s[i]=='5'&&s[i-1]=='5') //忽略连续的5,防止多输出0
continue;
if(s[i]!='5')
k=k*10+s[i]-'0';
else //遇到5就增加一个数
{
a[n++]=k;
k=0;
}
}
for(j=0;j<n-1;j++)
for(l=0;l<n-j-1;l++)
{
if(a[l]>a[l+1])
{
temp=a[l];
a[l]=a[l+1];
a[l+1]=temp;
}
}
for(i=0;i<n-1;i++)
{
printf("%d ",a[i]);
}
printf("%d\n",a[i]);
}
}
- 输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数
- 输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数
- 输入一行数字,如果我们把这行数字中的’5’都看成空格,那么就得到一行用空格分隔的若干非负整数
- 输入数据的每行包含若干个以空格隔开的整数,输出每行中所有整数之和。
- 若干整数组成的最小值
- 这个字符串参数必须包含一个或多个数字,函数应该把这些 数字字符转换为整数并返回这个整数。如果字符串参数包含 了任何非数字字符,函数就返回零。
- 这个字符串参数必须个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数包含了任何非数字字符,函数就返回零。请不必担心算数溢出。
- C 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数包含了任何非数字字符,函数就返回零。
- 【华为SO挑战赛】输入若干个整数,输出其中能呗这些整数中其他整数整除的哪些整数
- 字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。如果字符串参数包含了任何非数字字符,函数就返回零
- 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数.输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,
- 输入若干个整数,当输入0时表示结束,统计每个输入整数的出现次数。
- 一个整数的每个数位都平方后求和,又得到一个整数,我们称这个整数为:位平方和。
- 有一个整数n,将n分解成若干个整数之和,问如何分解能使这些数的乘积最大,输出这个乘积m
- 二进制中开头的第一个数字0表示正整数,1表示负整数吗?
- 输入一个非负整数返回组成它的数字之和,用递归实现
- 关于MFC CEdit中仅输入数字时,如何使其不能输入以0开头的非0整数
- 字符串包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数
- java设计模式——结构型之享元模式
- 第3周项目3:输出星号图(2)
- 001.Pecdraw在绘制文本图元时异常-2015年12月28日
- 第三周项目2:本月有几天?
- scala学习之路:8.staticObject与伴生类伴生对象
- 输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数
- Android 之联系人提供程序
- unity Instantiate()克隆预设脚本Start()的执行时机问题
- 002.Pecconfig自定义节点树出现异常数据的提示框-2015年12月29日
- 什么界面架构最好?
- poj1029 模拟/枚举
- 做一个具有阳光思维的人
- 网站开发时间计划表
- rtp over tcp