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