if(*(sort_str+n)>*(sort_str+m)){
ch=*(sort_str+n);
*(sort_str+n)=*(sort_str+m);
*(sort_str+m)=ch;
}
}
}
return0;
}
voidmain()
{
chara[100]="hello";
char*p=a;
charb[100];
char*q=b;
sort(p,q);
printf("%s",q);
}
C语言程序设计复杂程序考核
考核方法
在学生根目录下新建一个exam2.c的文件,将符合此后描述的功能的代码写入其中。
源代码文件中不应该包含main函数,考生应该自己建立main函数来调试代码。
源代码文件保存在学生账号的根目录下。
函数功能
将字符串中的数字字符(即’0’~’9’)出现的次数写入到指定的地址中。
考生需要统计一字符串中数字字符出现的次数,然后将次数写入到一个指定的地址中,被操作的字符粗和被写入的地址以函数形式参数传入。
函数原型
intfunction(char*str,int*stat);
参数说明
str是传入的被操作字符串。
字符串长度不超过4096。
stat是被写入的地址。
就是将str数组中的数字字符出现的次数写到stat中。
返回值及意义
操作成功;
str为空,此时stat写入的值应为0。
字符串长度超过限制,此时stat写入的值应为0。
#include
#include
intfunction(char*str,int*stat){
inti=0;
charch=0;
if(str==NULL){
*stat=0;
return1;
}
if(strlen(str)>=4096){
*stat=0;
return2;
}
while(*(str+i)!
='\0'){
ch=*(str+i);
if(ch>='0'&&ch<='9'){
*stat=*stat+1;
}
i++;
}
return0;
}
voidmain()
{
chara[100]="32yidsf1";
char*p=a;
intn=0;
int*q=&n;
function(p,q);
printf("%d",*q);
}
C语言程序设计复杂程序考核
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
大小写转化,统计0的总个数。
函数通过参数传入一个字符串(全为大写字母)的起始地址,通过对这个地址的操作把该字符串中的大写字母转换为小写字母,并统计每个小写字母对应ASCLL码转换为二进制后0出现的次数之和。
函数原型
intcaculate_student(char*data_buf,int*count);
参数说明
data_buf是指向字符数组地址的指针,该内存包含一串大写字母。
字符串长度不超过4096。
count是被写入的参数。
就是将所有小写字母对应ASCLL码转换为二进制后0出现的总次数。
返回值
操作成功;
data_buf为空,即data_buf==NULL,此时count写入值为-1,即*count=-1。
#include
intcaculate_student(char*data_buf,int*count){
inti=0;
intj=0;
intnum=0;
if(data_buf==NULL){
*count=-1;
return1;
}
while(*(data_buf+i)!
='\0'){
*(data_buf+i)=*(data_buf+i)+32;
printf("%c",*(data_buf+i));
i++;
}
for(j=0;j
num=*(data_buf+j);
while(num/2!
=0){
if(num%2==0){
*count=*count+1;
}
num=num/2;
}
}
return0;
}
voidmain()
{
inti=0;
chara[100]="HELLO";
char*p=a;
int*q=&i;
caculate_student(p,q);
printf("%s%d",p,*q);
}
C语言程序设计复杂程序考核
考核方法
在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。
该文件中不应包含main函数。
源代码文件保存在学生账号的根目录下。
若要调试则需重新新建main函数进行测试,但最后只保留指定函数。
函数功能
找出字符串中ASCII最大的字符,将之写入指定的地址。
函数原型
intmax(char*data,char*max);
参数说明
Char*data是传入的字符串。
data元素个数小于1024个;
Char*max是被写入的地址,即是计算data中的最大值并将其写入max中;
返回值
操作成功;
指针data为空,此时max写入值为’\0’;
data中的数据不小于1024个,此时max写入的值为’\0’。
/*Note:
YourchoiceisCIDE*/
#include"stdio.h"
#include"string.h"
intmax(char*data,char*max){
inti=0;
inttemp=0;
if(strlen(data)>=1024){
*max='\0';
return2;
}
if(data==NULL){
*max='\0';
return1;
}
*max=*data;
while(*(data+i)!
='\0'){
if(*(data+i)>*max){
*max=*(data+i);
}
i++;
}
return0;
}
voidmain()
{
chara[100]="hezllo";
char*p=a;
inti=0;
char*q;
charm;
q=&m;
max(p,q);
printf("%c",*q);
}
C语言程序设计复杂程序考核
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试。
函数功能
统计一字符串中另一字符串出现的次数。
计算一个指定的字符串在另一个字符串中出现的次数,并将出现的次数写入指定地址中。
指定的字符串和被操作的字符串以函数形式参数的形式传入。
比如字符串”weisweisdfwei”出现字符串”wei”的次数为3次。
函数原型
intcount(char*str,char*sub_str,int*fre);
参数说明
str为被操作的字符串,此字符串皆为可打印字符,长度小于4096;
sub_str为指定的字符串,此字符串皆为可打印字符,长度比str小;
fre为被写入的地址。
即是统计字符串str中sub_str出现的次数,并将次数写入fre中。
返回值
操作成功;
指针str为空,此时fre写入值为-1;
字符串str长度不小于4096个,此时fre写入值为-1。
#include
#include
intcount(char*str,char*sub_str,int*fre){
inti=0;
intj=0;
intnum=0;
intlen=strlen(sub_str);
if(str==NULL){
*fre=-1;
return1;
}
if(strlen(str)>=4096){
*fre=-1;
return2;
}
while(*(str+i)!
='\0'){
if(*(str+i)==*sub_str){
if(!
strncmp(str+i,sub_str,len)){
*fre=*fre+1;
i=i+len;
}
}else{
i++;
}
}
return0;
}
voidmain()
{
chara[100]="weilweihehe";
charb[100]="wei";
inti=0;
int*p=&i;
count(a,b,p);
printf("%d",*p);
}
C语言程序设计复杂程序考核
考核方法
考生在自己根目录下创建一个名为exam2.c的文件,在此文件中实现规定功能的函数。
该文件中不包含main函数。
调试时,学生自行编写相应的main函数等来进行测试;提交时,把main函数屏蔽或删除即可。
函数功能
计算数组中所有元素的平均值,将平均值写入指定的地址中。
函数原型
intcaculation(int*data,float*average,intnumber);
参数说明
data是传入的数组。
data中的元素个数小于1024个。
average是被写入的地址。
即是计算data数组中所有元素de的平均值,将平均值写入average中,data数组中的元素应不变。
numberdata数组的元素个数。
返回值
操作成功;
指针data为空,此时average写入值为0;
data中的数据不小于1024个,此时average写入的值为0。
#include
intcaculation(int*data,float*average,intnumber){
inti=0;
doubleadd=0;
if(data==NULL){
*average=0;
return1;
}
if(number>=1024){
*average=0;
return2;
}
for(i=0;iadd=(add+*(data+i));
}
*average=(float)(add/number);
return0;
}
voidmain(){
inta[100]={2,4,6,2,9};
int*q=a;
floatf=1;
float*p=&f;
caculation(q,p,5);
printf("%f",*p);
}
C语言程序设计复杂程序考核
考核方法
在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。
该文件中不应包含main函数。
学生应自行编写相应的main函数等来进行测试。
源代码文件保存在学生账号的根目录下。
函数功能
对传入的数组进行从小到大排序,排序好的数据写入指定地址中。
函数原型
intsort(int*data,int*sort_data,intnumber);
参数说明
data是传入的数据。
data中的数据个数小于1024个。
sort_data是被写入的地址。
即是将data数组中的数据排序好后,写入sort_data数组中,data数组的数据应不变。
number数组data包含的数据个数。
返回值
操作成功;
指针data为空,此此时sort_data不写入值;
data中的数据不小于1024个,此时sort_data不写入。
#include
intsort(int*data,int*sort_data,intnumber){
inti=0;
intj=0;
inttemp=0;
if(data==NULL){
return1;
}
if(number>=1024){
return2;
}
for(i=0;i*(sort_data+i)=*(data+i);
}
printf("%d\n",*data);
for(i=0;ifor(j=i+1;jif(*(sort_data+i)<*(sort_data+j)){
temp=*(sort_data+i);
*(sort_data+i)=*(sort_data+j);
*(sort_data+j)=temp;
}
}
}
return0;
}
voidmain(){
inta[100]={4,1,6,9,2};
int*p=a;
intb[100];
int*q=b;
inti=0;
sort(p,q,5);
for(i=0;i<5;i++){
printf("%d\n",*(q+i));
}
}
C语言程序设计复杂程序考核
考核方法
在名为exam2.c的文件中实现一个指定的函数,其要求如后所述。
该文件中不应包含main函数。
学生应自行编写相应的main函数等来进行测试。
源代码文件保存在学生账号的根目录下。
函数功能
用矩形法求定积分,其中a、b为函数输入参数,[a,b]区间所分的段数n也是传入的参数。
将结果写入指定的地址。
函数原型
intf(inti,intb,intn,float*result);
参数说明
b为积分上限;
i为积分下限,i小于或等于b;
n为[i,b]区间所要分的段数,即使将[i,b]区间分为n。
result为被写入的地址。
即是将区间[i,b]分为n段,用矩形法求出定积分的值,将结果写入result中。
返回值
操作成功;
i>b,此时result写入值为-1。
#include
intf(inti,intb,intn,float*result){
doublenum=0;
doubleadd=0;
floatf;
intj=0;
doublelen=0;
len=(b-i)/((double)n);
if(i>b){
return-1;
}
for(j=0;j<=n;j++){
num=((i+len*j)*(i+len*j)