c语言数组编程题
【问题描述】编写一子函数实现输入两个有序数组,合并成新的有序数组。【输入形式】主函数中循环输入两个有序数组元素:A数组6个元素,B数组4个元素【输出形式】输出合并后有序数...
【问题描述】
编写一子函数实现输入两个有序数组,合并成新的有序数组。
【输入形式】
主函数中循环输入两个有序数组元素:A数组6个元素,B数组4个元素
【输出形式】
输出合并后有序数组
【样例输入】
0 2 4 6 7 9
5 7 8 9
【样例输出】
0 2 4 5 6 7 7 8 9 9
【样例说明】
直接用循环输入两个数组,不用考虑换行。 展开
编写一子函数实现输入两个有序数组,合并成新的有序数组。
【输入形式】
主函数中循环输入两个有序数组元素:A数组6个元素,B数组4个元素
【输出形式】
输出合并后有序数组
【样例输入】
0 2 4 6 7 9
5 7 8 9
【样例输出】
0 2 4 5 6 7 7 8 9 9
【样例说明】
直接用循环输入两个数组,不用考虑换行。 展开
2个回答
展开全部
思路:按题意,用指针遍历字符串st,使用标识变量flag首次遇到字母置1并计数,遇到空格时flag重置0。
注意:本程序不考虑夹杂非字母的情况,请规范输入。比如“I am a stu**dent”,stu**dent将作为一个单词识别。
下面是代码:
#include <stdio.h>
int GetWordNum(char st[])
{
char *p=st;
int cnt=0,flag=0;
while(*p)
{
if(flag==0 && ((*p>='a' && *p<='z') || (*p>='A' && *p<='Z')))
cnt++,flag=1;
if(flag && *p==' ')
flag=0;
p++;
}
return cnt;
}
int main()
{
char str[]="I am a student";
printf("%s共计单词个数%d\n",str,GetWordNum(str));
return 0;
}
展开全部
int * en()
{int a[6],b[5],c[11],i,j;
for(int i=0;i<6;i++)
scanf("%d",&a[i]);
a[6]=100000;
for(int i=0;i<4;i++)
scanf("%d",&b[i]);
b[4]=100000;
for( i=0,j=0;i<6;i++)
{for(;j<4;j++)
if(a[i]<b[j])
{c[i+j]=a[i];break;}
else c[i+j]=b[j];
if(j>=4)c[i+j]=a[i];}
while(j<4)c[6+j++]=b[j];
return c;
}C语言数组编程,其实简洁很多,懒得想了。。
代码如上,满意请采纳,还有问题请追问。
{int a[6],b[5],c[11],i,j;
for(int i=0;i<6;i++)
scanf("%d",&a[i]);
a[6]=100000;
for(int i=0;i<4;i++)
scanf("%d",&b[i]);
b[4]=100000;
for( i=0,j=0;i<6;i++)
{for(;j<4;j++)
if(a[i]<b[j])
{c[i+j]=a[i];break;}
else c[i+j]=b[j];
if(j>=4)c[i+j]=a[i];}
while(j<4)c[6+j++]=b[j];
return c;
}C语言数组编程,其实简洁很多,懒得想了。。
代码如上,满意请采纳,还有问题请追问。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询