例1由键盘输入一字符串,求其长度(要求自己编程,不用strlen函数) #...
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例14:输入一行字符,统计其中有多少个单词,单词之间 :输入一行字符,统计其中有多少个单词, 用空格分开。 用空格分开。
Байду номын сангаас
#include “stdio.h” main() { char string[80],c; int I,num=0,word=0; gets(string); for(I=0;(c=string[I])!=’\0’;I++) if(c== ‘ ’) word=0; else if(word==0) {word=1; num++; } printf(“ 这行字符有单词 %d个\n”,num);} 个
上一页 下一页
的根, 例12:求方程 :求方程ax2+bx+c=0的根,要求用三个函 的根 数分别求当b2-4ac大于 、等于 和小于 时的根, 大于0、等于0和小于 时的根, 和小于0 数分别求当 大于 并输出结果,从主函数输入a,b,c的值。 并输出结果,从主函数输入 的值。 的值 #include"math.h" float dy0(float a,float b,float d) {float x1,x2; x1=(-b-sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a); printf("%f,%f",x1,x2); }
上一页 下一页
例10:编写一个求字符串长度的程序,要求在主函数输 :编写一个求字符串长度的程序, 入一字符串,在了函数求它的长度, 入一字符串,在了函数求它的长度,并输出结果 #include"stdio.h" cd(char str[]) {int i; for(i=0;str[i]!='\0';i++) ; printf("string lenght=%d",i); } main() {char s1[100]; gets(s1); cd(s1); }
上一页 下一页
值为偶数的字符删除, 例5:编写将字符串 中ASCII值为偶数的字符删除,串 :编写将字符串S中 值为偶数的字符删除 中剩余字符形成一个新串放在字符串t中的程序 中的程序。 中剩余字符形成一个新串放在字符串 中的程序。 #include “stdio.h” #include”string.h” main() {int i,j ; char s[100],t[100]; gets(s); for(i=0,j=0;s[i]!=‘\0’;i++) if(s[i]%2!=0){t[j]=s[i];j++;} t[j]=‘\0’; strcpy(s,t); puts(t); }
上一页 下一页
例6:规定输入的字符中只包含字母和 号,编写程序, :规定输入的字符中只包含字母和*号 编写程序, 将尾部连续的*号全部删除 前面和中间的*号不删除 号全部删除, 号不删除。 将尾部连续的 号全部删除,前面和中间的 号不删除。 #include"stdio.h" #include"string.h" main() {int i,n; char str[100]; gets(str); n=strlen(str); for(i=n-1;i>=0;i--) if(str[i]=='*') str[i]='\0'; else break; puts(str); }
上一页 下一页
由多个单词和空格组成), 例4: 输入一行字符 由多个单词和空格组成 ,将其存储在一个 : 输入一行字符(由多个单词和空格组成 字符数组中,再输入一个单词, 字符数组中,再输入一个单词,要求找出这个单词是数组中的第 几个元素。如果该单词不在数组中,则输出“ 几个元素。如果该单词不在数组中,则输出“No existence” #include "stdio.h" main() {int i,t=0,n; char c1[100][15],c2[15]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%s",c1[i]); scanf("%s",c2); for(i=0;i<n;i++) if(strcmp(c1[i],c2)==0){t=1;printf("%d",i);break;} if(t==0) printf("No existence"); }
例1:由键盘输入一字符串,求其长度 要求自己 :由键盘输入一字符串,求其长度(要求自己 编程,不用strlen函数 函数) 编程,不用 函数 #include "stdio.h" main() {int i=0;char str[100]; gets(str); while(str[i]!='\0') i++; printf("char length=%d",i); }
上一页 下一页
用函数实现将一个长度为10 例16:用函数实现将一个长度为 的数组逆序输出。 用函数实现将一个长度为 的数组逆序输出。 #include<stdio.h> main() {char str[100]; gets(str); nx(str);} nx(char s[]) {int i,n; n=strlen(s); for(i=n-1;i>=0;i--) printf("%c",s[i]); }
上一页 下一页
例7:编写一程序,功能是将大于整数 且紧靠 m的k个 :编写一程序,功能是将大于整数m且紧靠 的 个 素数存入X所指的数组中 如输入17, ,则就输出19, 所指的数组中。 素数存入 所指的数组中。如输入 ,5,则就输出 , 23,29,31,37。 , , , 。 main() {int m,k,i,j,n,t,x[20]; scanf("%d,%d",&m,&k); for(i=m+1,n=0;k!=0;i++) {for(j=2,t=0;j<=i/2;j++) if(i%j==0){t=1;break;} if(t==0){x[n]=i;n++;k--;} } for(i=0;i<=n-1;i++) printf("%5d",x[i]); }
上一页 下一页
和一个长字符串c2, 例3:由键盘输入一个短字符串 和一个长字符串 ,编程判断 :由键盘输入一个短字符串c1和一个长字符串 c1在c2中出现的次数。 中出现的次数。 在 中出现的次数
#include"stdio.h" main() {int n=0,i,j,m,t; char c1[20],c2[100]; clrscr(); gets(c1);gets(c2); for(i=0;c2[i]!='\0';i++) {for(j=0,t=0;c1[j]!='\0';j++) if(c2[i+j]!=c1[ j]){t=1;break;} if (t==0)n++; } printf("\n%d",n); }
上一页 下一页
例2 打印如下杨 辉三角形的前10行 辉三角形的前 行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 …………………..
main() {int i,j,a[10][10]; for(i=0;i<=9;i++) { for(j=0;j<=i;j++) {if(j==0||i==j) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; printf("%6d",a[i][j]); } printf("\n"); } }
上一页 下一页
的值,n的值由键盘输 例9:求k=2!+4!+6!+…+2n!的值 的值由键盘输 : 的值 用函数求2n!. 入,用函数求 用函数求
main() { long sum=0; int i,n; scanf("%d",&n); for(i=2;i<=2*n;i+=2) sum=sum+jc(i); printf("%ld",jc1); } long jc(int i) { long jc1=1; int j; for(j=1;j<=i;j++) jc1=jc1*j; return jc; }
zh(int m1) {int i=1,m=1,s=0; while(m1!=0) {i=m1%8; s=s+i*m; m=m*8; m1=m1/8; } return s; }
main() {int s,n; scanf("%o",&n); s=zh(n); printf("%d",s); }
上一页 下一页
上一页 下一页
例11:分别编写求最大值和最小值的函数,调用这两个 :分别编写求最大值和最小值的函数, 函数输出键盘输入的任意两个数的最大值和最小值。 函数输出键盘输入的任意两个数的最大值和最小值。 max(int x1,int y1) {return x1>y1?x1:y1;} min(int x2,int y2) {return x2<y2?x2:y2;} main() {int x,y,max1,min1; scanf("%d,%d",&x,&y); max1=max(x,y); min1=min(x,y); printf("max=%d,min=%d",max1,min1); }
上一页 下一页
定义两个包含10个数的数组 例18:定义两个包含 个数的数组,要求用函数将两数组的内容 定义两个包含 个数的数组, 互换。 互换。 main() {int a[10],b[10],i; for(i=0;i<=9;i++) scanf("%d",&a[i]); for(i=0;i<=9;i++) scanf("%d",&b[i]); hh(a,b); for(i=0;i<=9;i++) printf("%5d",a[i]); printf("\n"); for(i=0;i<=9;i++) printf("%5d",b[i]) } hh(int x[ ],int y[ ]) {int i,t; for(i=0;i<=9;i++) {t=x[i];x[i]=y[i];y[i]=t;} } 上一页 下一页
上一页 下一页
float xy0(float a,float b,float d) {float x1,x2; x1=-b/(2*a); x2=sqrt(-d)/(2*a); printf("x1=%f+i%f\x2=%f-i%f",x1,x2,x1,x2);} float d0(float a,float b) {float x1; x1=-b/(2*a); printf("x1=x2=%f",x1);}
上一页 下一页
写一函数,使输入的一个字符串按反序存放 例17:写一函数 使输入的一个字符串按反序存放 在 写一函数 使输入的一个字符串按反序存放,在 主函数中输入和输出字符串。 主函数中输入和输出字符串。
#include<stdio.h> main() {char str[100]; gets(str); nx(str); printf("%s",str); } nx(char s[ ]) {int i,n;char t; n=strlen(s); for(i=0;i<n/2;i++) {t=s[i];s[i]=s[n-i-1];s[n-i-1]=t;} }
上一页 下一页
的值,n的值由键盘输 例8:求k=1!+2!+3!+…+n!的值 的值由键盘输 : 的值 用函数求n!. 入,用函数求 用函数求
long jc(int i) { long jc1=1; int j; for(j=1;j<=i;j++) jc1=jc1*j; return jc; }
main() { long sum=0; int i,n; scanf("%d",&n); for(i=1;i<=n;i++) sum=sum+jc(i); printf("%ld",jc1); }
上一页 下一页
个字符串, 的值自定) 例15:有n个字符串,找出其中最大者 的值自定 : 个字符串 找出其中最大者(n的值自定
#include"string.h" #include "stdio.h" main() {int n,i; char c1[100][20],c2[20]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%s",c1[i]); strcpy(c2,c1[i]); for(i=0;i<n;i++) if(strcmp(c1[i],c2)>0) strcpy(c2,c1[i]); printf("%s",c2); }
上一页 下一页
main() {float a,b,c,d; scanf("%f,%f,%f",&a,&b,&c); d=b*b-c*a*c; if(d>=0) if(d>0) dy0(a,b,d); else d0(a,b); else xy0(a,b,d); }
上一页 下一页
例13:编写一个函数,输入一个八进制数,返回其对应的十进制 :编写一个函数,输入一个八进制数, 数。