读书人

请高手指教:字符串、函数有关问题

发布时间: 2012-02-08 19:52:21 作者: rapoo

请高手指教:字符串、函数问题
问题:(1)编写一个程序,用于接收两个字符串,判断第一个字符串中是否包含第二个字符串,如果包含说明第二个字符串在第一个字符串中的位置(即,第二个字符串第一个字符在第一个字符串中出现的位置)。
(2)编写一个录入函数:用来从键盘接收 n 个整型数并存放在一个整型数组中,在主函数中调用该函数计算出这 n 个整数之和。(n 不确定)

[解决办法]
#include <stdio.h>
#include <string.h>

int main()
{
char a[20]={0};
char b[20]={0};
scanf( "%s ",a);
scanf( "%s ",b);
char *c;
if((c=strstr(a,b))!=NULL)
{
printf( "position:%d ",c-a);
}
else
{
printf( "not found! ");
}
return 0;
}
[解决办法]
/*
输入:
arg[1]: str1
arg[2]: str2
输出:若str1包含str2, 则输出str2在其中位置,否则判断不包含
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
char *str1 = NULL;
char *str2 = NULL;
char *pFirst = NULL;

if (argc!=3)
{
printf( "Please Enter: Strcmpr String1 String2 \n ");
return 0;
}

str1 = argv[1];
str2 = argv[2];

pFirst = strstr (str1, str2);

if (pFirst == NULL)
{
printf( " '%s ' is not included in '%s ' \n ", str2, str1);
}
else
{
printf( "The Position of '%s ' in '%s ' is the %d th letter \n ", str2, str1, (pFirst-str1));
}

return 0;
}


[解决办法]
#include <stdio.h>
#include <stdlib.h>

int array[100];

int input()
{
int i,j=0,k=0;
char str[300],num[20];
printf( "input: ");
scanf( "%s ",str);
for (i=0; i <strlen(str); ++i)
{
if (isdigit(str[i])
{
num[j++]=str[i];
}
else
{
if (j)
{
array[k]=atoi(num);
j=0;
}
}
}
}

void main()
{
int i,n=input(),sum=0;
for (i=0; i <n; ++i)
{
sum+=array[i];
}
}
[解决办法]
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>

int array[100];

int input()
{
int i,n;
char num[20];
printf( "input count= ");
scanf( "%d ",&n);
for (i=0; i <n; ++i)
{
printf( "input data[%d]= ",i);
scanf( "%d ",array+i);
}
return n;
}

void main()
{
int i,n=input(),sum=0;
for (i=0; i <n; ++i)
{
sum+=array[i];
}
printf( "len=%d,sum=%d\n ",n,sum);
getch();
}


读书人网 >C语言

热点推荐