比较两个字符串,将长的字符串的首地址作为函数值返回。
计算机二级上机考试(程序改错题)1

程序编程题目1、第一大类(交换类)共7道心之所向,所向披靡2. 程序修改(第3套)给定程序中函数fun 的功能是:通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。
例如变量a中的值原为8,b中的值原为3,程序运行后a中值为3,b 中的值为8./**found**/t=*x; *x=y;/**found**/return(t);2. 程序修改(第60套)给定程序中函数fun的功能是:实现两个整数的交换。
例如给a和b分别输入60和65,输出为:a=65 b=60 /**found**/void fun(int *a,int *b)/**found**/t=*b;*b=*a;*a=t;2. 程序修改(第88套)给定程序中函数fun的功能是:将主函数中两个变量的值进行交换。
例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。
/**found**/void fun(int *x, int *y)/**found**/t=*x,*x=*y,*y=t;2、第二大类(计算类)共22道2. 程序修改(第1套)给定程序中函数fun的功能是:求出以下分数序列的前n 项之和。
2/1+3/2+5/3+8/5+13/8+21/13+……和值通过函数值返回main函数。
例如n=5,则应输出:8.391667。
/**found**/double fun(int n)/**found**/s=s+(double)a/b;2. 程序修改(第6套)给定程序中函数fun的功能是:用递归算法计算列中第n 项的值。
从第一项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……/**found**/switch(g)/**found**/case 1:case 2:return 1;2. 程序修改(第13套)给定程序中函数fun的功能是:求s=aa…aa—…—aaa—aa—a(此处aa…aa表示n个a,a和n的值在1至9之间)。
c语言判断字符串是否相等 函数

c语言判断字符串是否相等函数C语言的字符串比较是一种常用的操作,其主要功能是用来判断两个字符串是否相等。
在C语言中,字符串实际上是一个字符数组,因此要比较两个字符串是否相等,就需要比较两个字符数组是否相等。
为了实现这一目的,C语言提供了strcmp()函数。
strcmp()函数是C语言中的标准库函数之一,其作用是比较两个字符串是否相等。
函数的原型如下:int strcmp(const char* str1, const char* str2);该函数接收两个参数,分别为要比较的字符串str1和被比较的字符串str2。
函数的返回值为:- 如果str1小于str2,返回一个负数;- 如果str1等于str2,返回0;- 如果str1大于str2,返回一个正数。
下面是一段使用strcmp()函数的示例代码:```#include <stdio.h>#include <string.h>int main(){char str1[20], str2[20];int result;printf("请输入第一个字符串:"); scanf("%s", str1);printf("请输入第二个字符串:"); scanf("%s", str2);result = strcmp(str1, str2);if(result == 0){printf("两个字符串相等\n"); }else{printf("两个字符串不相等\n"); }return 0;}```在本示例中,我们先定义了两个字符数组str1和str2,然后通过scanf()函数从控制台读入两个字符串。
接着,我们调用了strcmp()函数来比较这两个字符串,将比较结果保存在result变量中。
最后,我们根据比较结果输出不同的提示信息。
strcmp 函数

strcmp 函数strcmp函数是字符串比较函数,它位于C/C++标准库中,可以用来比较两个字符串的大小。
strcmp数的原型为:int strcmp( const char *s1, const char *s2 );中,s1和s2参数都是指向字符串的指针。
该函数将比较两个字符串的大小,并返回一个整型数值,如果s1大于s2,则该函数返回一个正值;如果s1等于s2,则返回0;如果s1小于s2,则返回一个负值。
strcmp函数是C/C++语言中常用的函数,用于比较字符串,它有两个参数,分别指向两个要比较的字符串。
它可以用来比较两个字符串是否相等或是否大小关系。
strcmp函数可以用于实现字符串的排序,用于判断字符串长度,用于比较文件名,也可以用于模糊字符串的比较。
由于strcmp函数具有实用性和可扩展性,在C/C++语言中有大量应用。
strcmp函数的源码实现可以使用比较简单的循环语句,如下: int strcmp(const char *s1, const char *s2){int i = 0;while(s1[i]!=0 && s2[i]!=0{if(s1[i] > s2[i])return 1;else if(s1[i] < s2[i])return -1;elsei++;}return 0;}上面的代码实现了strcmp函数,当两个字符串的长度一致时,它们的ASCII码值会一一比较,从第一个字符开始比较,当字符串s1中的某个字符的ASCII码小于字符串s2中的某个字符时,此时strcmp函数会返回-1;如果字符串s1中的某个字符的ASCII码大于字符串s2中的某个字符,则strcmp函数会返回1;如果两个字符的ASCII码相等,则继续比较下一个字符,当所有字符都比较完,且对应位置上的字符都相等时,strcmp函数会返回0。
strcmp函数由于可以比较字符串的大小,它在C/C++语言中有着广泛的应用,如:字典序比较,用于判断字符串长度,比较文件名,模糊字符串比较等。
字符串对比函数

字符串对比函数字符串对比函数是计算机中常用的函数,它可以用来比较两个字符串的相似度。
本文将介绍字符串对比函数的定义、分类、原理及其相关的应用。
一、字符串对比函数的定义字符串对比函数是指将两个字符串进行比较,以得到它们之间的相似度,也称为字符串相似性比较函数。
通过比较两个字符串的相似程度,程序能够自动识别出具有相似特征的字符串,从而实现相关的字符串处理功能。
二、字符串对比函数的分类字符串对比函数可以根据比较方式和标准分为以下几类:(1)基于字符位置比较:例如,strcmp()函数是一种基于字符位置比较的函数,它比较两个字符串的相对位置,可以找出两个字符串中最早出现的不一致字符,并把它们的相对位置作为比较的结果。
(2)基于字符长度的比较:有的字符串对比函数会比较两个字符串的长度,并将较长的字符串作为较大者,比如strncmp()函数(3)基于字符数值的比较:有的字符串对比函数会通过比较字符的数值,来决定字符串大小,比如strncasecmp()函数,它会忽略字符的大小写,而仅通过比较字符的数值来判断字符串的大小。
三、字符串对比函数的原理字符串对比函数有着不同的比较方式和标准,但它们的原理基本相同,即在比较之前,对字符串中的每个字符进行编码,此时每个字符都有一个数值,以此数值来标记字符的位置,然后再进行比较,在不同的比较函数中,具体比较标准也不尽相同,比如strcmp()函数比较两个字符串中最早出现的不一致字符的位置,而strncasecmp()函数则通过比较字符的数值来判断字符串的大小,最后将比较的结果以相应的数值形式输出。
四、字符串对比函数的应用字符串对比函数可以用于比较文本,实现文本分类、文本检索、编辑推荐和机器翻译等功能。
例如,用strcmp()函数可以实现比较两个字符串的相似程度,也可以用于文本检索,比如当用户输入关键词时,系统可以通过比较该词中的每个字符,找出相似度最高的关键词,从而实现检索功能。
计算机二级C语言编程题库(100题)

2011,2012年上机题100题库1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int*a,int*n){int i,j=0;for(i=2;i<1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}3:第3题请编写函数void fun(int x,int pp[],int*n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x,int pp[],int*n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char*tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char*tt,int pp[]){int i;for(i=0;i<26;i++)pp[i]=0;while(*tt){switch(*tt){case‘a’:pp[0]++;break;case‘b’:pp[1]++;break;case‘c’:pp[2]++;break;case‘d’:pp[3]++;break;case‘e’:pp[4]++;break;case‘f’:pp[5]++;break;case‘g’:pp[6]++;break;case‘h’:pp[7]++;break;case‘i’:pp[8]++;break;case‘j’:pp[9]++;break;case‘k’:pp[10]++;break;case‘l’:pp[11]++;break;case‘m’:pp[12]++;break;case‘n’:pp[12]++;break;case‘o’:pp[14]++;break;case‘p’:pp[15]++;break;case‘q’:pp[16]++;break;case‘r’:pp[17]++;break;case‘s’:pp[18]++;break;case‘t’:pp[19]++;break;case‘u’:pp[20]++;break;case‘v’:pp[21]++;break;case‘w’:pp[22]++;break;case‘x’:pp[23]++;break;case‘y’:pp[24]++;break;case‘z’:pp[25]++;break;}tt++;}}5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
strcmp()字符串比较函数用法

strcmp()字符串⽐较函数⽤法
函数原型:
int strcmp(const char *s1, const char *s2);
头⽂件:
#include <string.h>
功能: ⽤来⽐较两个字符串
参数: s1、s2为两个进⾏⽐较的字符串
返回值: 若s1、s2字符串相等,则返回零;若s1⼤于s2,则返回⼤于零的数;否则,则返回⼩于零的数。
说明: strcmp()函数是根据ACSII码的值来⽐较两个字符串的;strcmp()函数⾸先将s1字符串的第⼀个字符值减去s2第⼀个字符,若差值为零则继续⽐较下去;若差值不为零,则返回差值。
直到出现不同的字符或遇'\0'为⽌。
特别注意: strcmp(const char * s1,const char * s2) 这⾥⾯只能⽐较字符串,不能⽐较数字等其他形式的参数。
代码⽰例:
#include <string.h>
int main(void)
{
char *p="aBc";
char *q="Abc";
char *h="abc";
printf("strcmp(p,q):%d\n",strcmp(p,q));
printf("strcmp(p,h):%d\n",strcmp(p,h));
return 0;
}
//结果:
//strcmp(p,q):32
//strcmp(p,h):-32。
国家计算机二级机试试题及答案

while(*b=='*') b++;
while(*b) *a++=*b++;
*a=0;
十二、填空题:t[][N]i=0;i<ns修改题:fun(int a[],int m)else if(m>a[mid])
设计题:char *b=a;
while(b<p)
{
if(*b!='*') *a++=*b;
while(fabs(x1-x0)>=0.000001)
{
x0=x1;
x1=cos(x0);
}
return x1;
九、填空题:NN-10修改题:s=s+(n+1.)/n;return t;
设计题:int f0=0,f1=1,f2=f0+f1;
while(f2<t)
{
f0=f1;
f1=f2;
f2=f0+f1;
中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将
显示在屏幕上。
四十九、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有
学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件
中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输
}
return f2;
十、填空题:0j--j修改题:double f(double x)return s;
设计题:int i;
double s=0;
for(i=1;i<=m;i++) s+=log(i);
计算机二级考试题c语言程序题

二、程序修改题1.给定程序MODI1.C中函数fun的功能是:计算n!。
2.给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
3.给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。
4.给定程序MODI1.C中函数fun的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。
5.给定程序MODI1.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m<=10)名学生来,并将这些学生数据放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
6.给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。
#include <stdio.h>7.给定程序MODI1.C中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调,次最大数和a[1]中的数对调。
8.给定程序MODI1.C中函数fun的功能是:求k!(k<13),所求阶乘的值作为函数值返回。
例如:若k=10,则应输出:3628800。
9.给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换为a),其它字符不变。
10.给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值:11.给定程序MODI1.C中函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。
12.给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII 码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。
13.给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。