C语言培训_006

来源:互联网 发布:ubuntu kali工具包 编辑:程序博客网 时间:2024/04/28 11:45

1.求前n项阶乘和

#include"stdio.h"long long int jiecheng(int n){long long int s=1;for(int i=1;i<=n;i++){s=s*i;}return s;}long long int he(long long int n){long long int s=0;for(long long int i=1;i<=n;i++){s=s+jiecheng(i);}return s;}int main(){long long int n;printf("输入n\n");scanf("%lld",&n);long long int s=he(n);printf("前%lld项的阶乘和为:%lld\n",n,s);return 0;}

2.求向量2范数

#include"stdio.h"#include"stdlib.h"#include"math.h"float fanshu3(float a,float b,float c){float d=pow(a*a+b*b+c*c,0.5);return d;}float fanshu2(float a,float b){float d=pow(a*a+b*b,0.5);return d;}int main(){printf("选择类型:A平面向量 B空间向量\n");char a;switch(a=getchar()){ case 'A': {float a,b;printf("输入平面向量(a空格b)\n") ;scanf("%f%f",&a,&b); printf("\n平面向量(a,b)2范数为:%f",fanshu2(a,b));break;}case 'B':{float c,d,e;printf("输入空间向量(a空格b空格c)\n");scanf("%f%f%f",&c,&d,&e); printf("\n空间向量(a,b,c)的2范数为:%f",fanshu3(c,d,e));break;}default:printf("输入错了"); } return 0;}


3.统计0到255个数_有结束符(1)

#include"stdio.h"#include"stdlib.h" int *geshu(unsigned char *a){int *b=(int *)malloc(256*sizeof(int));//返回数组b for(int i=0;i<256;i++){b[i]=0;}for(int i=0;a[i]!='\0';i++){for(int k=0;k<256;k++)if((int)(a[i]==k)) b[k]=b[k]+1;}return b;}int main(){unsigned char *a="aaabbc123" ;int *s=geshu(a);for(int i=0;i<=255;i++){if(s[i]!=0){printf("ASCLL码中%c有%d个\n",i,s[i]);}}free(s);return 0;}

求0到255个数_有结束符(2)

#include"stdio.h"#include"stdlib.h" int *geshu(unsigned char *a){int *b=(int *)malloc(256*sizeof(int));//返回数组b for(int i=0;i<256;i++){b[i]=0;}for(int i=0;a[i]!='\0';i++){for(int k=0;k<256;k++)if((int)(a[i]==k)) b[k]=b[k]+1;}return b;}int main(){unsigned char *a="aaabbc123" ;int *s=geshu(a);for(int i=0;i<=255;i++){if(s[i]!=0){printf("ASCLL码中%c有%d个\n",i,s[i]);}}free(s);return 0;}

求0到255个数_无结束符(1)

#include"stdio.h"#include"stdlib.h"int *tongji(unsigned char *a,int changdu){int *s=(int *)malloc(256*sizeof(int));for(int i=0;i<256;i++){s[i]=0;}for(int i=0;i<changdu;i++){for(int j=0;j<256;j++){if((int)(a[i])==j){s[j]++;}}}return s;}void P(int *s){for(int i=0;i<256;i++){if(s[i]!=0){printf("ASCLL码中%c(%d)有%d个\n",i,i,s[i]);}}}int main(){unsigned char a[]={'a','b','c','a','b','c','m','m','k','k'};int geshu=sizeof(a)/sizeof(unsigned char);int *b=tongji(a,geshu);P(b);free(b);return 0;}

求0到255个数_无结束符(2)

#include"stdio.h"#include"stdlib.h"int *tongji(unsigned char *a,int changdu){int *s=(int *)malloc(256*sizeof(int));for(int i=0;i<256;i++){s[i]=0;}for(int i=0;i<changdu;i++){for(int j=0;j<256;j++){if((int)(a[i])==j){s[j]++;}}}return s;}void P(int *s){for(int i=0;i<256;i++){if(s[i]!=0){printf("ASCLL码中%c(%d)有%d个\n",i,i,s[i]);}}}int main(){unsigned char a[]={'a','b','c','a','b','c','m','m','k','k'};int geshu=sizeof(a)/sizeof(unsigned char);int *b=tongji(a,geshu);P(b);free(b);return 0;}


0 0
原创粉丝点击