算法竞赛P.37-46
心情沉重,要么这本书写的太差,要么就是我C语言基础太差,总之很吃力,学的很烦。
1.int a[maxn]写在函数外面,且要比所求稍大。
2.a[n++]=x (输入) 则n最后为输入总个数。
3.最后输出结果用空格隔开
第一种:数据加空格。(注意最后一个空格不能多,最后一个数据单独输出)
结果为1,2,9,10,11,0,0
9.sprintf(buf,"%d%d%d",x,y,z) [把x,y,z三个拼在一起给buf字符串] {string.h}
10.strchr(s,buf[i]) [在s字符串查找buf[i]这个单个字符] {string.h}
11.鲁棒(robust)系统强壮性。
心情沉重,要么这本书写的太差,要么就是我C语言基础太差,总之很吃力,学的很烦。
1.int a[maxn]写在函数外面,且要比所求稍大。
2.a[n++]=x (输入) 则n最后为输入总个数。
3.最后输出结果用空格隔开
第一种:数据加空格。(注意最后一个空格不能多,最后一个数据单独输出)
第二种:空格加数据。(用first做判断标志)
#include<stdio.h>
#include<string.h>
#define maxn 1010
int a[maxn];
int main()
{
first=1;
if(first)
{
first=0;
}
else
printf(" ");
printf("%d",i);
printf ("\n");
return 0;
}
4.scanf ("%d%d")输入时是用空格隔开的。5.a[0][0]a[0][1] a[1][0]a[1][1]就是第(n-1)行第(n-1)列。6.%3d三位宽度,右对齐。 7.memcpy(b,a,sizeof(int)*k)[把数组a的k个元素复制到b]{string.h}
#include<stdio.h>
#include<string.h>
int main(void)
{
int i;
int a[20]={1,2,3,4,5};
int b[20]={7,8,9,10,11};
memcpy(b,a,sizeof(int)*2);
for (i=0;i<7;i++)
{
printf ("%d\n",b[i]);
}
}
结果为1,2,9,10,11,0,0
总结:1.从a数组中按序取出2个元素
2.覆盖掉b中两个元素
8.memset(a,0,sizeof(a)) [给数组a清零] {string.h}9.sprintf(buf,"%d%d%d",x,y,z) [把x,y,z三个拼在一起给buf字符串] {string.h}
10.strchr(s,buf[i]) [在s字符串查找buf[i]这个单个字符] {string.h}
11.鲁棒(robust)系统强壮性。