Description
有天小C在操作excel,他发现一个有意思的事情:对数字单元进行下拉可以得到递增的序列,对含有数字的单元格同样有效果。
作为一名立志成为ACM大牛的小C开始思考如何用C语言实现这个功能。那么作为ACMer的你会选择怎么来实现这个功能呢?
Input
每组测试数据有一行,一个含有英文字母和数字的字符串和一个整数m,m表示下拉m个单元格。
Output
输出m+1行,表示下拉m个单元格的结果。
Sample Input
abc123de 3
Sample Output
abc123de
abc124de
abc125de
abc126de
#include<stdio.h>
int main()
{
char ch[200];
int m;
scanf("%s",ch);
scanf("%d", &m);
while (m--)
{
printf("%s\n", ch);
}
printf("%s\n", ch);
return 0;
}
代码修改如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch[200]={0};
char pre[200]={0}; //数字前面的数据
char nmb[10]={0}; //暂存数字
char next[200]={0}; //数字后面的数据
int m;
int i=0,j=0,k=0,t=0,n;
int flag = 1;
scanf("%s %d",ch,&m);
while(ch[i])
{
if(ch[i] >= '0' && ch[i] <='9')
{
nmb[j++] = ch[i];
flag = 0;
}
else
{
if(flag == 1)
pre[t++] = ch[i];
else
next[k++] = ch[i];
}
i++;
}
n = atoi(nmb); //得到数字
for (i = 0;i<=m;i++)
{
printf("%s%d%s\n",pre,n,next);
n++;
}
return 0;
}
你只是把同一个串输出了m遍而已,中间的数字是不会变的
你这也不对啊
兄弟,用过excel表的下拉功能没有,你先把题看明白了再去做