任务描述
题目描述:输入一个字符串,输出反序后的字符串。
输入
一行字符
输出
逆序后的字符串
测试说明
样例输入:
123456abcdef
样例输出:
fedcba654321
特别注意:样例输出没有进行换行操作
#include
int main(void)
{
/*********Begin*********/
char n[200];
int i=0,temp;
int len=0;
gets(n);
while(n[i]!=0)
{
len++;
i++;
}
int left=0,right=len-1;
while(left
任务描述
题目描述:对于给定的一个字符串,统计其中数字字符出现的次数。
测试说明
样例输入:
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
样例输出:
6
9
#include
#include
int main(void)
{
int n,count,i,k,j,w;
char a[100];
scanf("%d",&n);
w = n;//先把n存起来 n是一个用户输入的常量 最好不要修改 就算修改也要知道原始值
int b[100]={0};
while(n > 0)
{
count = 0;
scanf("%s",a);
k = strlen(a);
for(i=0; i='0')
{
count++;
}
}
b[n-1] = count;
n--;
}
for(j=w-1; j>=0; j--)
{
printf("%d", b[j]);
if(j>0)
printf("\n");
}
return 0;
}
任务描述
题目描述:输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符后面。
测试说明
样例输入:
MynameisAmy
MynameisJane
样例输出:
MynameisAymy
提示:
字符串长度不超过100
注意:使用gets()函数会引起警告并不是报错,只要代码编译正确并不会影响测评结果。
推荐使用:fgets()函数。
#include
#include
int main()
{
char a[101], b[100];
int i = 0, j = 0, min, max, x, y;
min = 0;//min在下面(if (a[i]b[max])
max = j;
}
for (i = x; i >min; i--)//for循环注意其语句执行先后顺序,判断条件语句(i >min),
{ //满足之后先执行for循环体语句(a[i] = a[i-1];),再执行i--。
a[i] = a[i-1];
}
if (min == x)
a[i] = b[max];//这里原程序直接把整数max赋给了a[i]
else
{
a[i +1] = b[max];
}
a[x + 1] = '\0';//在字符串最后添加字符串结束符
printf("%s",a);
}
任务描述
题目描述:编写程序,输入字符串s1和s2以及插入位置f,在字符串s1中的指定位置f处插入字符串s2。如输入"BEIJING", “123”, 3,则输出:“BEI123JING”。
测试说明
样例输入:
BEIJING
123
3
样例输出:
BEI123JING
注意:使用gets()函数会引起警告并不是报错,只要代码编译正确并不会影响测评结果。
推荐使用:fgets()函数。
#include
#include
#include
int main(void)
{
/*********Begin*********/
char t[100],s[100];
int i,j,pos;
gets(t);
gets(s);
scanf("%d",&pos);
for(i=0;i
任务描述
题目描述:输入一段字符(由空格、字母和数字几种组成,保证开头不为空格),里面有若干个字符串,求这些字符串的长度和,并输出最长字符串内容,如果有多个输出最先出现的那个字符串。以stop作为最后输入的字符串。
测试说明
样例输入:
My name is Amy
My name is Jane
stop
样例输出:
11 name
12 name
提示:
字符串长度不超过100。
注意:使用gets()函数会引起警告,但正确使用不影响测评结果。
推荐使用:fgets()函数。
#include
#include
int main(void)
{
/*********Begin*********/
char a[100];
int i, j, pos = 0;
int str_len, word_len, max_word_len;
while(1) {
str_len = word_len = max_word_len = 0;
fgets(a, 100, stdin);//fgets函数的用法
if (strlen(a) <= 1)//输入的字符只有一个的情况
continue;
if (strlen(a) < 99) //remove '\n'
a[strlen(a)-1] = 0;
if(strncmp(a,"stop", strlen("stop"))==0)
break;
for(i = 0; a[i] !='\0'; i++) {
if(a[i] != ' ') {
word_len++;
str_len++;
continue;
}
if (word_len > max_word_len) {
max_word_len = word_len;
pos = i - word_len;
}
word_len = 0;
}
if (word_len > max_word_len) {
max_word_len = word_len;
pos = i - word_len;
}
printf("%d ", str_len);
for (i = pos; i < pos + max_word_len; i++)
printf("%c", a[i]);
putchar(10);
}
/*********End**********/
return 0;
}
任务描述
题目描述:输入3行,每行n个字符串,按由小到大的顺序输出
测试说明
样例输入:
cde
afg
abc
样例输出:
abc
afg
cde
#include
#include
int main(void)
{
/*********Begin*********/
char a[30],b[30],c[30],max[30];
scanf("%s %s %s",&a,&b,&c);
if(strcmp(a,b)>0)
{
strcpy(max,a);
strcpy(a,b);
strcpy(b,max);
}
if(strcmp(a,c)>0)
{
strcpy(max,a);
strcpy(a,c);
strcpy(c,max);
}
if(strcmp(b,c)>0)
{
strcpy(max,b);
strcpy(b,c);
strcpy(c,max);
}
printf("%s\n%s\n%s",a,b,c);
/*********End**********/
return 0;
}
任务描述
本关任务:将十个数进行从大到小的顺序进行排列。
测试说明
样例输入:
1 2 3 4 5 6 7 8 9 10
样例输出:
10 9 8 7 6 5 4 3 2 1
#include
int main()
{
int i,j,a[10],t;
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10;j++)
if (a[i] < a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
for (i = 0; i < 10; i++)
{
printf("%d", a[i]);
if(i!=9)
putchar(' ');}
return 0;
}
任务描述
题目描述:给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。
测试说明
样例输入:
6
1 9 4 8 3 9
9
样例输出:
2
提示:
数据规模与约定。
1 <= n <= 1000
#include
int Find(int n,int a[],int key)
{
int index=-1;
int i;
for(i=0;i
任务描述
题目描述:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中m和n的值由用户键盘输入。已知m和n的值都不超过10。
输入
输入数组大小:"%d,%d"
下面输入数组中元素。
输出
输出格式:
数组大小输入提示信息:“Input m, n:”
数组元素输入提示信息:"Input %d*%d array:
"
输出格式:“max=%d, row=%d, col=%d”
样例输入
5,5
1 2 3 4 5
4 5 6 100 2
3 2 1 5 6
1 2 3 5 4
3 5 6 4 8
样例输出
Input m, n:Input 5*5 array:
max=100, row=2, col=4
#include
int main()
{
int a[5][5],max,i,j,p,q,m,n;
printf("Input m, n:");
scanf("%d,%d",&m,&n);
printf("Input %d*%d array:\n",m,n);
for(i=0;imax){
max=a[i][j];
p=i;
q=j;
}
printf("max=%d, row=%d, col=%d",max,p+1,q+1);
return 0;
}
任务描述
题目描述:将n个从小到大排序的整数(n<1000000)从1~n进行编号,并一个待查找的整数m,请使用二分法进行查找。
测试说明
样例输入:
10
1 2 4 5 6 7 8 9 10 11
10
样例输出:
9
#include
int a[1000005],n,t;
int BS(){
int l=0,r=n-1;
while(l<=r){
int m=(l+r)>>1;
if(ta[m])
l=m+1;
else if(a[m-1]
任务描述
题目描述:找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
样例输入:
3 3
1 2 3
4 5 6
7 8 9
样例输出:
Array[0][2]=3
#define N 10
#include
int Maxcol(int a[][N],int n,int row){
int i,maxcol=0;
for(i=1;ia[row][maxcol]) maxcol=i;
return maxcol;
}
int Minrow(int a[][N],int m,int col){
int i,minrow=0;
for(i=1;i=m) printf("None");
}
任务描述
题目描述:输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
样例输入:
1 2 3 4 5 6 7 8 9 0
样例输出:
1 2 3 4 5 6 7 8 0
#include"stdio.h"
#define N 10
void del(int d[],int i,int n)
{
for(;ia[max])
max=i;
}
del(a,max,10);
for(i=0;i
任务描述
题目描述:还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
#include
int main()
{
int i,j,b,a[10][10];
for(i=0;i<=9;i++)
for(j=0;j<=i;j++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<=9;i++)
for(j=1;j<=i-1;j++)
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
for (i= 0; i < 10; ++i)
{
for ( j = 0; j <= i; ++j)
{
printf("%d", a[i][j]);
if (j != i)
printf(" ");
}
if(i<=8)
printf("\n");
}
}