目录
第1关:用指针法输入12个整数,然后按每行4个数输出
任务描述
第2关:指针变量作为函数参数实现两变量交换值
任务描述
第3关:报数
任务描述
第4关:strcmp函数
任务描述
题目描述:用指针法输入12
个整数,然后按每行4
个数输出
####相关知识(略)
####编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End
区域内进行代码补充。
输入
输入包含一行,有12
个整数。
输出
按顺序,每行输出4
个整数。
####测试说明
样例输入:
1 2 3 4 5 6 7 8 9 10 11 12
样例输出:
1 2 3 4
5 6 7 8
9 10 11 12
#include
int main(void)
{
/*********Begin*********/
int a[12],n,i;
int *b=a;
for(n=0;n<12;n++)
{
scanf("%d",b++);
}
b=a;
i=1;
for(n=0;n<12;n++)
{
if((n+1)/4==i)
{
printf("%d",*b);
}
else{
printf("%d ", *b);
}
b++;
if((n+1)/4==i){
if(i==3){
break;
}
printf("\n");
i++;
}
}
/*********End**********/
return 0;
}
题目描述:对输入的两个整数a
,b
,用指针变量作为函数参数,交换a
和b
的值。
####相关知识(略)
####编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End
区域内进行代码补充。
输入
两个整数a
b
输出
输出用函数交换处理后的值a
b
####测试说明
样例输入: 1 2
样例输出: 2 1
#include
/*********Begin*********/
void swap2(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
/*********End**********/
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
/*********Begin*********/
swap2(&a,&b);
printf("%d %d",a,b);
/*********End**********/
return 0;
}
题目描述:有n
人围成一圈,顺序排号。从第1
个人开始报数(从1
到3
报数),凡报到3
的人退出圈子,问最后留下的是原来的第几号的那位。
####相关知识(略)
####编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End
区域内进行代码补充。
输入
初始人数n
输出
最后一人的初始编号
####测试说明
样例输入:
3
样例输出:
2
#include
int main(void)
{
/*********Begin*********/
int n,ans,i;
scanf("%d",&n);
ans=0;
if(n==0)
return 0;
for(i=2;i<=n;i++)
ans=(ans+3)%i;
printf("%d\n",ans%n+1);
/*********End**********/
return 0;
}
题目描述:用一个函数实现两个字符串的比较,即自己写一个strcmp
函数
####相关知识(略)
####编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End
区域内进行代码补充。
输入
输入两字符串
输出
输出最大的那个字符串
####测试说明
样例输入: abc
abd
样例输出: abd
#include
int strcmp(char *p1,char *p2){
/*********Begin*********/
int i;
i=0;
while(*(p1+i)==*(p2+2))
{
if(*(p1+i++)=='\0')
{
return 0;
}
}
return (*(p1+i)-(*(p2+i)));
/*********End**********/
}
int main(void)
{
char a[110],b[110];
scanf("%s%s",a,b);
if(strcmp(a,b)>0)
printf("%s", a);
else
printf("%s", b);
return 0;
}