你好,我是个C语言的初学者,有几道题目想问你下,希望你帮我看看,谢谢!麻烦你了
1.定义两个字符数组s1、s2,并用赋初值的方法把两个字符串"Computer"和"Language”分别存放到s1、s2中,要求不用库函数strcat(),把s2连接到...
1.定义两个字符数组s1、s2,并用赋初值的方法把两个字符串
"Computer"和"Language” 分别存放到s1、s2中,要求不用库函数strcat( ),把s2连接到s1的尾部,然后以%s格式输出连接后的字符串s1。
2. 用赋初值的方法把字符串"C is a general purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system."存放到字符数组s中,编程统计其中的大写字母、小写字母、数字、空格、逗号的个数。
3. 试从主函数输入10个数据到数组中,编写对偶数项求和的子函数,它将计算结果返回给主函数,由主函数输出。
4. 编写一个判断素数的程序,其中主函数用于完成输入一个整数并给出判断结果,单独编写一个函数用于判断其参数是否为素数,其返回值为1表示为素数,为0表示为非素数。
5. 输入十个整数,放在数组list中,然后用指针法从后向前输出该数组中的整数。
6. 编写一个函数,它能对一个字符串("I am a student”)测出长度,要求函数的形参是一个指针变量,函数返回值是字符串的长度(长度不包含字符串的结束标志)。
7. 编一个函数cstrcmp实现两个字符串的比较,具体为
int cstrcmp(char *p1, char *p2)
其中p1,p2分别指向字符串s1,s2;若s1=s2则函数返回0;若s1>s2,则函数返回1;若s1<s2,则函数返回-1。声明字符串s1,s2时对其进行初始化。 展开
"Computer"和"Language” 分别存放到s1、s2中,要求不用库函数strcat( ),把s2连接到s1的尾部,然后以%s格式输出连接后的字符串s1。
2. 用赋初值的方法把字符串"C is a general purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system."存放到字符数组s中,编程统计其中的大写字母、小写字母、数字、空格、逗号的个数。
3. 试从主函数输入10个数据到数组中,编写对偶数项求和的子函数,它将计算结果返回给主函数,由主函数输出。
4. 编写一个判断素数的程序,其中主函数用于完成输入一个整数并给出判断结果,单独编写一个函数用于判断其参数是否为素数,其返回值为1表示为素数,为0表示为非素数。
5. 输入十个整数,放在数组list中,然后用指针法从后向前输出该数组中的整数。
6. 编写一个函数,它能对一个字符串("I am a student”)测出长度,要求函数的形参是一个指针变量,函数返回值是字符串的长度(长度不包含字符串的结束标志)。
7. 编一个函数cstrcmp实现两个字符串的比较,具体为
int cstrcmp(char *p1, char *p2)
其中p1,p2分别指向字符串s1,s2;若s1=s2则函数返回0;若s1>s2,则函数返回1;若s1<s2,则函数返回-1。声明字符串s1,s2时对其进行初始化。 展开
4个回答
展开全部
#include<stdio.h>
#include<math.h>
int prime(int n)
{
int m,i=2,t;
t=(int)sqrt(n);/*A 这个条件仅仅只是节省时间用到;因为一个素数从2开始除,如果除到它本身的开方还没有整除的数出现说明它是素数*/
for(;i<=t;i++)
if(n%i==0)//若此条件成立说明n不是素数,既然判断出他不是素数那么就给他返回一个0;说明函数返回的值是0就证明n不是素数;
{
m=0;
break;/*既然都判断出来n不是素数那么就不用执行for了;*/
}
if(i>t)
/*如果这里成立,说明i已经超过n的开方,就说明n是素数了,(为什么??应该知道吧!/不懂就看解释A)给它返回一个1,就说明说明函数返回的值是1就证明n是素数;*/
m=1;
else continue;
return m;
}
void main()
{
int n;
int i;
printf("请输入你要判断的数!\n");
scanf("%d",&n);
if(prime(n))
printf("是素数!\n");
else
printf("不是素数!\n");
printf("输出200-300之间的素数:\n");
for(i=200;i<=300;i++)
{
if(prime(i))/*利用已经写好的函数判断i是否是素数!如果函数返回1证明是素数则输出!否则(即运行到else)continue;*/
printf("%-4d",i);
else continue;
}
printf("\n");
}
/*希望你能看的懂,看不懂再找我!
#include<math.h>
int prime(int n)
{
int m,i=2,t;
t=(int)sqrt(n);/*A 这个条件仅仅只是节省时间用到;因为一个素数从2开始除,如果除到它本身的开方还没有整除的数出现说明它是素数*/
for(;i<=t;i++)
if(n%i==0)//若此条件成立说明n不是素数,既然判断出他不是素数那么就给他返回一个0;说明函数返回的值是0就证明n不是素数;
{
m=0;
break;/*既然都判断出来n不是素数那么就不用执行for了;*/
}
if(i>t)
/*如果这里成立,说明i已经超过n的开方,就说明n是素数了,(为什么??应该知道吧!/不懂就看解释A)给它返回一个1,就说明说明函数返回的值是1就证明n是素数;*/
m=1;
else continue;
return m;
}
void main()
{
int n;
int i;
printf("请输入你要判断的数!\n");
scanf("%d",&n);
if(prime(n))
printf("是素数!\n");
else
printf("不是素数!\n");
printf("输出200-300之间的素数:\n");
for(i=200;i<=300;i++)
{
if(prime(i))/*利用已经写好的函数判断i是否是素数!如果函数返回1证明是素数则输出!否则(即运行到else)continue;*/
printf("%-4d",i);
else continue;
}
printf("\n");
}
/*希望你能看的懂,看不懂再找我!
展开全部
1,
#include <stdio.h>
int main(void)
{
char s1[128] = "Computer", s2[] = "Language";
int i = 0, j = 0;
while (s1[i]) i++;
while (s2[j]) s1[i++] = s2[j++];
// s[i] = '\0'; 是没必要的!!!
puts(s1);
return 0;
}
2,
#include <stdio.h>
int main(void)
{
char s[512] = "C is a general purpose, procedural, imperative "
"computer programming language developed in 1972 by Dennis"
"Ritchie at the Bell Telephone Laboratories for use with "
"the Unix operating system.";
int a = 0, b = 0, c = 0, d = 0, e = 0;
int i = 0;
while (s[i])
{
if (s[i] >= 'A' && s[i] <= 'Z') a++;
if (s[i] >= 'a' && s[i] <= 'z') b++;
if (s[i] >= '0' && s[i] <= '9') c++;
if (s[i] == ' ') d++;
if (s[i] == ',') e++;
i++;
}
printf("大写字母:%d,小写字母:%d,数字:%d,空格:%d,逗号:%d.\n",
a, b, c, d, e);
return 0;
}
3,
#include <stdio.h>
int foo(int a[], int n)
{
int i, sum = 0;
for (i = 0; i < n; i++)
if (a[i] % 2 == 0) sum += a[i];
return sum;
}
int main(void)
{
int a[10], i;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
printf("sum = %d\n", foo(a, 10));
return 0;
}
4,
#include <stdio.h>
int foo(int a)
{
int flag = 1, i;
for (i = 2; i * i <= a; i++)
if (a % i == 0)
{
flag = 0;
break;
}
return flag;
}
int main(void)
{
int a;
scanf("%d", &a);
if (foo(a)) printf("%d 是素数\n", a);
else printf("%d 不是素数\n", a);
return 0;
}
5,
#include <stdio.h>
int main(void)
{
int list[10], i, *p = list;
for (i = 0; i < 10; i++)
scanf("%d", &list[i]);
for (i = 9; i >= 0; i--)
printf("%d ", *(p + i));
return 0;
}
6,
#include <stdio.h>
int mystrlen(char *p)
{
int len = 0;
while (p[len++]);
return len - 1;
}
int main(void)
{
printf("%d\n", mystrlen("I am a student"));
return 0;
}
7,
#include <stdio.h>
int cstrcmp(char *p1, char *p2)
{
while (*p1 || *p2)
{
if (*p1 > *p2) return 1;
else if (*p1 < *p2) return -1;
p1++;
p2++;
}
return 0;
}
#include <stdio.h>
int main(void)
{
char s1[128] = "Computer", s2[] = "Language";
int i = 0, j = 0;
while (s1[i]) i++;
while (s2[j]) s1[i++] = s2[j++];
// s[i] = '\0'; 是没必要的!!!
puts(s1);
return 0;
}
2,
#include <stdio.h>
int main(void)
{
char s[512] = "C is a general purpose, procedural, imperative "
"computer programming language developed in 1972 by Dennis"
"Ritchie at the Bell Telephone Laboratories for use with "
"the Unix operating system.";
int a = 0, b = 0, c = 0, d = 0, e = 0;
int i = 0;
while (s[i])
{
if (s[i] >= 'A' && s[i] <= 'Z') a++;
if (s[i] >= 'a' && s[i] <= 'z') b++;
if (s[i] >= '0' && s[i] <= '9') c++;
if (s[i] == ' ') d++;
if (s[i] == ',') e++;
i++;
}
printf("大写字母:%d,小写字母:%d,数字:%d,空格:%d,逗号:%d.\n",
a, b, c, d, e);
return 0;
}
3,
#include <stdio.h>
int foo(int a[], int n)
{
int i, sum = 0;
for (i = 0; i < n; i++)
if (a[i] % 2 == 0) sum += a[i];
return sum;
}
int main(void)
{
int a[10], i;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
printf("sum = %d\n", foo(a, 10));
return 0;
}
4,
#include <stdio.h>
int foo(int a)
{
int flag = 1, i;
for (i = 2; i * i <= a; i++)
if (a % i == 0)
{
flag = 0;
break;
}
return flag;
}
int main(void)
{
int a;
scanf("%d", &a);
if (foo(a)) printf("%d 是素数\n", a);
else printf("%d 不是素数\n", a);
return 0;
}
5,
#include <stdio.h>
int main(void)
{
int list[10], i, *p = list;
for (i = 0; i < 10; i++)
scanf("%d", &list[i]);
for (i = 9; i >= 0; i--)
printf("%d ", *(p + i));
return 0;
}
6,
#include <stdio.h>
int mystrlen(char *p)
{
int len = 0;
while (p[len++]);
return len - 1;
}
int main(void)
{
printf("%d\n", mystrlen("I am a student"));
return 0;
}
7,
#include <stdio.h>
int cstrcmp(char *p1, char *p2)
{
while (*p1 || *p2)
{
if (*p1 > *p2) return 1;
else if (*p1 < *p2) return -1;
p1++;
p2++;
}
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
忒简单了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询