![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言自编函数
liuhenghui5201
这个作者很懒,什么都没留下…
展开
-
c++ 一个简单的学生 类
#include <iostream> // 预处理命令using namespace std;class Student // 声明一个类,类名为Student{private: // 以下为类中的私有部分int num; ...原创 2012-03-27 16:30:55 · 7830 阅读 · 0 评论 -
一个关于文件中位运算的的处理函数。
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),其功能是:以行为单位把字符串的最后一个字符的ASCii值右移4位后加最后第二个字符的ASCii值,得到最后一个新的字符,最后第二个字符的ASCii值右移4位后加最后第三个字符的ASCii值,得到最后第二个新的字符,以此类推,一直处理到第二个字符,第一个字符的ASCii原创 2012-09-17 00:28:13 · 1255 阅读 · 1 评论 -
某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1。使用非递归的算法求解满足要求的n值的程序。
某级数的前两项A1=1,A2=1,以后各项具有如下关系:An=An-2+2An-1。(n-2 n-1 均为小标)下列程序的功能是:要求依次对于整数M=100、1000和10000求出对应的n值,使其满足:Sn=M(n+1为下标),这里Sn=A1+A2+…+An,并依次把n值存入数组单元b[0]、b[1]和b[2]中,请编制jsvalue()函数来实现此功能,最后调用函数writeDat()把原创 2012-09-14 00:15:56 · 6300 阅读 · 0 评论 -
一个关于将满足给定条件的数据按顺序写到另一文件中的C语言函数。
已知数据文件IN37.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:如果一个4位数的千位数字上的值加十位数字上的值恰好等于百位数字上的值加上个位数字上的值,并且此4位数是偶数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中。最后,调用写函数writeDat()把结果cnt及数组b中符合条件的原创 2012-09-11 20:02:09 · 1250 阅读 · 0 评论 -
C语言文件指针的基本函数介绍包含了fpoen、fclose、fgetc、fputc、fscanf、fprintf、fgets、fputs、fread、fwrite函数以及文件定位函数.
一、打开关闭文件只打开文件 再关闭文件#include #includemain(){ FILE *fp; fp = fopen("data.dat","r"); //打开文件 if(fp == NULL) { printf("Cannot open this file!\n "); exit(0); //头文件需要有 stdlib.h原创 2012-09-27 15:57:40 · 9406 阅读 · 0 评论 -
关于一个选举的票数统计程序,每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数大于5个人时被认为无效的选票。
对10个候选人进行选举,现有一个100条记录的选票文件IN93.DAT,其数据存放格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推;每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数大于5个人时被认为无效的选票;给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CoutRs(原创 2012-09-04 23:13:56 · 3128 阅读 · 0 评论 -
统计一个长度为2的子字符串在另一个字符串中出现的次数.例如:假定输入的字符串为“asd asasdfg asd as zx67 asd mklo”,子字符串为“as”,函数返回值为6。
编写一个函数findStr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为“asd asasdfg asd as zx67 asd mklo”,子字符串为“as”,函数返回值为6。函数readwriteDat()的功能是实现从文件IN90.DAT中读取两个字符串,并调用函数findStr(),最后把结果输出到文件OUT90.DAT中。#include原创 2012-09-02 23:04:17 · 11660 阅读 · 4 评论 -
一个关于数组中满足条件的元素选择、及函数变换得c语言函数
函数ReadDat()的功能是实现从文件ENG65.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()把结果xx输出到文件PS65.DAT中。替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的AS原创 2012-08-31 22:59:01 · 2045 阅读 · 0 评论 -
将一正整数序列{K1,K2,…,K9}重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描
下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描。要求编写函数jsValue()实现此功能,最后调用函数writeDat()把新序列输出到文件OUT62.DAT中。说明:在程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9原创 2012-08-30 23:21:46 · 8850 阅读 · 0 评论 -
以行为单位对字符串变量下标为奇数位置上的字符按其ASCii值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中
#include #include #include #include char xx[20][80];void jsSort() //扦插法排序{ int i,j,s,k; char temp; for(i=0;i<20;i++) //对20行进行循环 { s=strlen(xx[i])原创 2012-09-18 21:18:42 · 3179 阅读 · 0 评论 -
一个求矩阵鞍点(即行上最小的数 同时是列上最大的数)的C程序
/*求一个矩阵的鞍点,即在行上最小在列上最大的点*/#include#include#includeint readmtr(int a[][10],int n){ int i,j; printf("input n*n matric:\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&a[i][j]); //原创 2012-10-10 22:51:45 · 6825 阅读 · 0 评论 -
依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的5个数,且该数是奇数,则把这个四位数按从小到大的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。
已知数据文件IN28.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的5个数,且该数是奇数,则把这个四位数按从小到大的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。最后,调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到O原创 2012-09-20 19:25:57 · 2643 阅读 · 0 评论 -
一个打印有规律图形的c程序。
/*当n=4 时 输出:15 28 6 310 9 7 4*/#include<stdio.h>main(){ int i,j,a[100][100],n,k; printf("enter n:"); scanf("%d",&n); k=1; for(i=1;i<=n;i++) for(j=1;j<=n+1-i;j++) ...原创 2012-10-10 22:48:42 · 1546 阅读 · 0 评论 -
C++笔记(一),使用指针和引用实现变量的交换
#include<iostream>using namespace std;void swap1(int *pa, int * pb);void swap2(int &a, int &b);int main(){ int a = 10,b = 20; cout<<"a = "<<a<<" b = "&原创 2013-12-03 16:51:42 · 2680 阅读 · 0 评论 -
一个关于文件结构体数组的条件排序函数
已知在文件IN2.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进原创 2012-09-14 23:47:02 · 1115 阅读 · 0 评论 -
有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他下一个人重新开始1到m的报数,如此下去直到全部都出圈为止。现要求按出圈次序.给出n人的顺序表
设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编制函数Josegh()实现此功能,并调用函数WriteDat()把结果p输出到文件OUT99.DAT中。设n=100、s=1、m=10进行编程。原创 2012-09-22 23:09:47 · 15081 阅读 · 0 评论 -
求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。
已知数据文件IN13.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT13.DAT文件。例如:原创 2012-09-23 10:22:15 · 3470 阅读 · 0 评论 -
编制一个函数jsValue(),求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数的平均值pjz1,以及不满足此条件的四位数的平均值pzj2
已知数据文件IN15.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数的平均值pjz1,以及不满足此条件的四位数的平均值pjz2,最后调用写函数writeDat()把结果输出到OUT15.DAT文件。例如:912原创 2012-09-22 11:55:19 · 1975 阅读 · 0 评论 -
求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序
已知数据文件IN14.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中。请编制一个函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b中的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到OUT14.DAT文件。例如:5591是素数,则该数满足条件存入数组b中原创 2012-09-20 22:01:49 · 2589 阅读 · 0 评论 -
一个关于数组中满足条件的元素选择、及再次排序得c语言函数。
已知数据文件IN27.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsVal(),其功能是:把千位数字和十位数字重新组合成一个新的十位数ab(新十位数的十位数字是原4位数的千位数字,新十位数的个位数字是原4位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原4位数的个位数字,新十位数的个位数字是原4位数的百位原创 2012-08-30 17:59:42 · 2299 阅读 · 0 评论 -
统计带头结点的单向链表的个数并存放在形参n所指的单元中。 欢迎评论 指点。
#include #include #define N 8typedef struct list //定义结构体{ int data; struct list *next;} SLIST; /原创 2012-03-19 17:12:06 · 1860 阅读 · 0 评论 -
将S所指的字符串中下标为偶数同时ASCⅡ值为奇数的字符删除,所指串中剩余的字符形成新的串放在t所指的数组中
void fun(char *s, char t[]){ int i,j=strlen(s),k=0; char p[100]; for(i=0;i<j;i++) { if(i%2==0&&s[i]%2==1)原创 2012-03-17 17:23:52 · 13065 阅读 · 0 评论 -
删除 字符串中‘*’号 两端的除外。指针h、p分别指向第一个和最后一个字符
//删除 字符串中‘*’号 两端的除外。指针h、p分别指向第一个和最后一个字符#include void fun( char *a, char *h,char *p ){ int i=0; char ss[100],*ww,*ee,*rr; ww=a; while(ww!=h) { ss[i++]=(*(ww++)); }ss[i]=0; while(ww!=p) {原创 2012-03-24 18:38:58 · 1209 阅读 · 0 评论 -
求输入的单词个数(单词间用空格隔开 不限空格个数) 首尾不能用空格
int fun(char *s) { int i,n=strlen(s),j=0; for(i=0;i { if(s[i]==32) { do { i++; }while(s[i]==32);//跳过中间的多个空格 j++; } } return j+1;}原创 2012-03-08 17:56:04 · 1110 阅读 · 0 评论 -
只删除字符串前面的‘*’号。
//只删除字符串前面的‘*’号。#include #include #include void fun(char *a){ int i; while(*a=='*') { i=0; while(a[i]!=0) { a[i]=a[i+1]; i++; } }}main(){ char s[81]; printf("Enter a st原创 2012-03-24 22:18:52 · 1432 阅读 · 0 评论 -
自编fun函数求 N*N矩阵四周元素的平均值
double fun (int w[N][N]){ double sum=0.0; int i=0; for(i=0;i<N;i++) { sum+=w[0][i]; sum+=w[i][0]; sum+=w[N-1][i]; sum+=w[i][N-1]; } sum=sum-w[0][0]-w[N-1][N-1]-w[0][N-1]-w[N-1][0]; sum原创 2012-03-24 22:46:50 · 1711 阅读 · 0 评论 -
求Fibonacc数列中大于t(t>3)的最小一个数 例 带入1000输出1597
/*i,j,num,i,j,num..... 往复循环形成数列*/int fun (int t){ int i=0,j=1,num=1; while(1) { num=i+j; if(num>t) {return num; break;} i=num+j; if(i>t)原创 2012-03-06 18:00:11 · 3359 阅读 · 0 评论 -
C文件 写入 读取 函数
1.C写入文件函数#includemain(){ FILE *f; f=fopen("wenzhang.txt","w"); fprintf(f,"this is a c program !"); fclose(f);} 2.读取文件函数/*要求 "文章.txt" 文件在c程序同一目录中。*/ #include原创 2012-03-05 17:32:34 · 2306 阅读 · 0 评论 -
对字符串数组中的M个字符串按长度由小到大进行排序
#include #include #define M 5#define N 20void fun(char (*ss)[N]){ int i, j, k, n[M]; char t[N]; for(i=0; i<M; i++) n[i]=strlen(ss[i]); //统计各个字原创 2012-04-07 16:30:46 · 5240 阅读 · 0 评论 -
字符串逆置函数
#include #include #include #define N 81void fun(char*s){ int n=strlen(s),i,k;char t; k=n; for(i=0;i<k--;i++) { t=s[i]; s[i]=s[n-1-i]; s[n-1-i]=t; }}main(){ cha原创 2012-04-07 17:05:22 · 5318 阅读 · 0 评论 -
利用creat创建链表 利用outlist打印链表 利用 fun 函数 返回链表中最大的值
#include #include #define N 8struct slist{ double s; struct slist *next;};typedef struct slist STREC; double fun( STREC *h ){ int i; double max; for(i=0;i<N;i++) {原创 2012-03-21 00:55:38 · 2071 阅读 · 0 评论 -
关于一个简单的矩阵运算程序,将A矩阵加上A矩阵的逆放到B矩阵中。
#include #include void fun ( int a[3][3], int b[3][3]){ int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) b[i][j]=a[i][j]+a[j][i];}main( ){ int a[3][3]={{1, 2, 3}, {4, 5, 6},原创 2012-04-20 21:04:42 · 1755 阅读 · 0 评论 -
用递归算法求斐波那契数列的第N项值
#include long fun(int g){ switch(g) { case 0: return 0; case 1: return 0; case 2: return 1; } return (fun(g-1) + fun(g-2));}main(){ long fib; int n; printf("I原创 2012-04-20 20:58:12 · 20185 阅读 · 2 评论 -
建立一个带头结点的的单向链表并输出到out53.dat和屏幕上。各节点的值为对应的下表。链表的节点数及输出地文件名作为参数传入
#include#includetypedef struct ss{ int data; struct ss *next;}NODE;void fun(int n,char *filename){ NODE *h, *p, *s ; FILE *pf; int i; h=p=(NODE *)malloc(sizeof(NODE)); h->da原创 2012-04-20 20:54:18 · 1205 阅读 · 0 评论 -
求解一元二次方程的简单c语言程序
#include #include main(){ double a, b, c, disc, x1, x2; do { printf("Input a, b, c: ");//a、b、c分别为二次项一次项常数项系数。 scanf("%lf,%lf,%lf", &a, &b, &c); disc = b*b - 4*a*c; if (disc < 0) pri原创 2012-04-22 12:16:14 · 18272 阅读 · 2 评论 -
将S 所指字符串中的数字移到字符串后面,相对次序不变。例:s=“a1b2c3d4efg” fun(s)="abcdefg1234"
#include void fun(char *s){ int i, j=0, k=0; char t1[80], t2[80]; for(i=0; s[i]!='\0'; i++) if(s[i]>='0' && s[i]<='9') { t2[j]=s[i]; j++; } else t1[k原创 2012-04-10 16:08:27 · 2920 阅读 · 0 评论 -
删除字符串中指定的字符形成字符串
//删除字符串中指定的字符形成字符串#include #include void fun(char s[],int c){ int n=strlen(s),i,j=0; char b[100]; for(i=0;i<n;i++) { if(s[i]!=c) b[j++]=s[i]; }b[j]='\0'; strcpy(s,b); }main(){ st原创 2012-03-22 00:58:14 · 980 阅读 · 0 评论 -
m个人的成绩放在score数组中,利用fun函数返回低于平均分得人数,降低于平均分得人成绩放在below中
#include #include int fun(int score[],int m, int below[]){ int i=0,j=0; double aver=0.0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(sco原创 2012-03-22 00:55:53 · 9403 阅读 · 1 评论 -
判断ch中的字符是否与str所指串中的某个字符相同;若相同什么也不做。若不同,插在最后
#include #include void fun(char *str, char ch ){ while ( *str && *str != ch ) str++; if ( *str != ch ) { str [ 0 ] = ch; str[1] = '\0'; }}main( ){ cha原创 2012-04-07 17:00:48 · 4618 阅读 · 0 评论 -
判断是否为素数,是则返回1,否则返回0.
int fun(int m){ int k = 2; while(k k++; if(m == k) return1; else return0;}原创 2012-03-01 23:20:08 · 17342 阅读 · 1 评论