第5章数组 习题答案.docx
《第5章数组 习题答案.docx》由会员分享,可在线阅读,更多相关《第5章数组 习题答案.docx(16页珍藏版)》请在冰豆网上搜索。
第5章数组习题答案
1:
/*编写程序,用筛选法求100之内的素数。
*/
#include
voidmain()
{
inti,j;
for(i=2;i<100;i++)
for(j=2;j
if(i%j==0)
break;
}
if(j==i)
printf("%d\t",i);
2/*输入一整数,并能逐位正序或反序输出。
intnum,a,i=0;
printf("输入一个数字\n");
scanf("%d",&num);
printf("正序输出则输入1反序输出输入0\n");
scanf("%d",&a);
switch(a)
case1:
printf("%d",num);break;
case0:
while(0!
=num)
i=i*10+num%10;
num=num/10;
printf("%d",i);
default:
printf("请输入0和1!
!
\n");
3/*对于一个4X4矩阵逆时针旋转90度*/
inta[4][4],i,j,b[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
b[3-j][i]=a[i][j];
printf("逆时针旋转90度后:
printf("%d",b[i][j]);
printf("\n");
4:
/*将一个数组中的数据奇数放到前面,偶数放到后面。
inta[9],b[9],i,j=0,m=0;
for(i=0;i<9;i++)
scanf("%d",&a[i]);
if(a[i]%2!
=0)
b[j]=a[i];
j++;
else
b[8-m]=a[i];
m++;
printf("%d",b[i]);
5:
/*输入一个4X4的矩阵,求四个边上元素的和。
inti,j,a[4][4],sum;
printf("输入一个4阶方阵:
sum=a[0][0]+a[0][3]+a[3][0]+a[3][3];
printf("四个边上元素的和为%d\n",sum);
6:
/*输入9个10以内的自然数,将它们组成两个整数,求如何组合得到两个数的成绩最大或最小。
intj,k;
inti;
intt;
inta=0,b=0;
intflag=1;
intnum[9];
intmax,max_a,max_b;
intmin,min_a,min_b;
printf("输入9个10以内的自然数:
");
for(j=0;j<9;j++)
scanf("%d",&num[j]);
for(j=0;j<8;j++)
for(k=0;k<8-j;k++)
if(num[k]>num[k+1])
t=num[k+1];
num[k+1]=num[k];
num[k]=t;
for(i=1;i<511;i++)
for(j=8;j>=0;j--)
if((i&(int)pow(2.0,j))==0)
a=a*10+num[j];
b=b*10+num[j];
if(flag)
max=a*b;
max_a=a;
max_b=b;
flag=0;
if(max{max=a*b;max_a=a;max_b=b;}a=0;b=0;}flag=1;for(j=0;j<8;j++)for(k=0;k<8-j;k++)if(num[k]{t=num[k+1];num[k+1]=num[k];num[k]=t;}for(i=1;i<511;i++){for(j=8;j>=0;j--){if((i&(int)pow(2.0,j))==0)a=a*10+num[j];elseb=b*10+num[j];}if(flag){min=a*b;min_a=a;min_b=b;flag=0;}if(min>a*b){min=a*b;min_a=a;min_b=b;}a=0;b=0;}printf("最小的数为%dx%d=%d\n",min_a,min_b,min);printf("最大的数为%dx%d=%d\n",max_a,max_b,max);}7:/*输入一个数组,输出它的区间范围,例如输入1,2,3,4,5,6,7,8,20,21,22,23,输出1-8,20-23。*/#includevoidmain()#defineM5{inta[M],i,j,t,m,k;for(i=0;iscanf("%d",&a[i]);/*把数组从小到大排列*/for(i=0;i{for(j=0;j{if(a[j]>a[j+1]){t=a[j+1];a[j+1]=a[j];a[j]=t;}}}j=0;for(i=0;i{while(a[j]+1==a[j+1]){j++;}if(j-i!=0){printf("%d-%d\n",a[i],a[j]);i=j;j++;}if(j-i==0){printf("%d\n",a[i]);i=j;j++;}}}8:/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。*/#includevoidmain(){inta,c;charb,d;inti;printf("输入区间以'.'结束以','分隔,例如1-8,22-30:");do{scanf("%d%c%d%c",&a,&b,&c,&d);for(i=a;i<=c;i++)printf("%d",i);}while(d!='.');}10:/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/#includevoidmain(){chartext[1000];intcount=0,i=0;printf("输入一段文章:");gets(text);while(text[i]!=0){if((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z')){i++;continue;}else{i++;count++;}}printf("有%d个单词",count+1)}11:/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->Z,B->Z…Z->A,a->z…z->a。*/#includevoidmain(){chari,sum=0,text[1000];printf("请输入一段文字:\n");gets(text);for(i=0;text[i]!=0;i++){if(text[i]>=65&&text[i]<=90)text[i]=155-text[i];if(text[i]>=97&&text[i]<=122)text[i]=219-text[i];}puts(text);}12:/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如“100-100000,220000,250000,300000-600000”。*/#includevoidmain(){inta,b,c;printf("请输入:下限-上限,需要判断的数\n");scanf("%d-%d,%d",&a,&b,&c);if(c<=b&&c>=a)printf("%d在范围内",c);elseprintf("%d不在范围内",c);}13:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。*/#includevoidmain(){chari,a,b,text[1000];printf("请输入需要被替换的字符-替换后的字符\n");scanf("%c-%c",&a,&b);printf("请输入一段文字\n");getchar();gets(text);for(i=0;text[i]!=0;i++)if(text[i]=='a')text[i]='b';puts(text);}14:/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。*/#include#includevoidmain(){chari,b,a[1000];intsum=0;printf("输入一个字符串\n");gets(a);b=strlen(a);if(b%2==0){for(i=0;i<(b/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==(b/2))printf("是回文");elseprintf("不是回文");}else{for(i=0;i<((b-1)/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==((b-1)/2))printf("是回文");elseprintf("不是回文");}}15:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。*/#include"stdafx.h"intcheck(char*p){if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))return1;elsereturn0;}intwordcount(char*text){char*p,*q;intcount=0;p=text;q=p+1;while(*q){if(check(p)&&!(check(q))){p++;q++;count++;}else{p++;q++;}}returncount;}voidmain(){chartext[1000],*word[1000],*p,*q,*first;p=text;q=p+1;inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;printf("请输入一段文字:\n");gets_s(text);//提醒正确输入格式while(text[i+1])i++;if(check(&text[i])){printf("句子结尾漏了标点符号\n");exit(1);}i=0;//将大写字母转换为小写while(text[i]){if(text[i]>='A'&&text[i]<='Z')text[i]+=32;i++;}i=0;/*sum来保存单词数*/sum=wordcount(text);/*把每个单词以字符串形式保存到*word中*/first=text;while(*q){if(check(p)&&!(check(q))){*q=0;word[i]=first;p++;q++;i++;}else{p++;q++;}if(!(check(p))&&check(q))first=q;}/*记各个单词出现次数存在a中*/for(i=0;i{a[i]=0;for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
a=0;
b=0;
flag=1;
if(num[k]{t=num[k+1];num[k+1]=num[k];num[k]=t;}for(i=1;i<511;i++){for(j=8;j>=0;j--){if((i&(int)pow(2.0,j))==0)a=a*10+num[j];elseb=b*10+num[j];}if(flag){min=a*b;min_a=a;min_b=b;flag=0;}if(min>a*b){min=a*b;min_a=a;min_b=b;}a=0;b=0;}printf("最小的数为%dx%d=%d\n",min_a,min_b,min);printf("最大的数为%dx%d=%d\n",max_a,max_b,max);}7:/*输入一个数组,输出它的区间范围,例如输入1,2,3,4,5,6,7,8,20,21,22,23,输出1-8,20-23。*/#includevoidmain()#defineM5{inta[M],i,j,t,m,k;for(i=0;iscanf("%d",&a[i]);/*把数组从小到大排列*/for(i=0;i{for(j=0;j{if(a[j]>a[j+1]){t=a[j+1];a[j+1]=a[j];a[j]=t;}}}j=0;for(i=0;i{while(a[j]+1==a[j+1]){j++;}if(j-i!=0){printf("%d-%d\n",a[i],a[j]);i=j;j++;}if(j-i==0){printf("%d\n",a[i]);i=j;j++;}}}8:/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。*/#includevoidmain(){inta,c;charb,d;inti;printf("输入区间以'.'结束以','分隔,例如1-8,22-30:");do{scanf("%d%c%d%c",&a,&b,&c,&d);for(i=a;i<=c;i++)printf("%d",i);}while(d!='.');}10:/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/#includevoidmain(){chartext[1000];intcount=0,i=0;printf("输入一段文章:");gets(text);while(text[i]!=0){if((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z')){i++;continue;}else{i++;count++;}}printf("有%d个单词",count+1)}11:/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->Z,B->Z…Z->A,a->z…z->a。*/#includevoidmain(){chari,sum=0,text[1000];printf("请输入一段文字:\n");gets(text);for(i=0;text[i]!=0;i++){if(text[i]>=65&&text[i]<=90)text[i]=155-text[i];if(text[i]>=97&&text[i]<=122)text[i]=219-text[i];}puts(text);}12:/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如“100-100000,220000,250000,300000-600000”。*/#includevoidmain(){inta,b,c;printf("请输入:下限-上限,需要判断的数\n");scanf("%d-%d,%d",&a,&b,&c);if(c<=b&&c>=a)printf("%d在范围内",c);elseprintf("%d不在范围内",c);}13:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。*/#includevoidmain(){chari,a,b,text[1000];printf("请输入需要被替换的字符-替换后的字符\n");scanf("%c-%c",&a,&b);printf("请输入一段文字\n");getchar();gets(text);for(i=0;text[i]!=0;i++)if(text[i]=='a')text[i]='b';puts(text);}14:/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。*/#include#includevoidmain(){chari,b,a[1000];intsum=0;printf("输入一个字符串\n");gets(a);b=strlen(a);if(b%2==0){for(i=0;i<(b/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==(b/2))printf("是回文");elseprintf("不是回文");}else{for(i=0;i<((b-1)/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==((b-1)/2))printf("是回文");elseprintf("不是回文");}}15:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。*/#include"stdafx.h"intcheck(char*p){if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))return1;elsereturn0;}intwordcount(char*text){char*p,*q;intcount=0;p=text;q=p+1;while(*q){if(check(p)&&!(check(q))){p++;q++;count++;}else{p++;q++;}}returncount;}voidmain(){chartext[1000],*word[1000],*p,*q,*first;p=text;q=p+1;inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;printf("请输入一段文字:\n");gets_s(text);//提醒正确输入格式while(text[i+1])i++;if(check(&text[i])){printf("句子结尾漏了标点符号\n");exit(1);}i=0;//将大写字母转换为小写while(text[i]){if(text[i]>='A'&&text[i]<='Z')text[i]+=32;i++;}i=0;/*sum来保存单词数*/sum=wordcount(text);/*把每个单词以字符串形式保存到*word中*/first=text;while(*q){if(check(p)&&!(check(q))){*q=0;word[i]=first;p++;q++;i++;}else{p++;q++;}if(!(check(p))&&check(q))first=q;}/*记各个单词出现次数存在a中*/for(i=0;i{a[i]=0;for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
min=a*b;
min_a=a;
min_b=b;
if(min>a*b)
printf("最小的数为%dx%d=%d\n",min_a,min_b,min);
printf("最大的数为%dx%d=%d\n",max_a,max_b,max);
7:
/*输入一个数组,输出它的区间范围,例如输入1,2,3,4,5,6,7,8,20,21,22,23,输出
1-8,20-23。
#defineM5
inta[M],i,j,t,m,k;
for(i=0;iscanf("%d",&a[i]);/*把数组从小到大排列*/for(i=0;i{for(j=0;j{if(a[j]>a[j+1]){t=a[j+1];a[j+1]=a[j];a[j]=t;}}}j=0;for(i=0;i{while(a[j]+1==a[j+1]){j++;}if(j-i!=0){printf("%d-%d\n",a[i],a[j]);i=j;j++;}if(j-i==0){printf("%d\n",a[i]);i=j;j++;}}}8:/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。*/#includevoidmain(){inta,c;charb,d;inti;printf("输入区间以'.'结束以','分隔,例如1-8,22-30:");do{scanf("%d%c%d%c",&a,&b,&c,&d);for(i=a;i<=c;i++)printf("%d",i);}while(d!='.');}10:/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/#includevoidmain(){chartext[1000];intcount=0,i=0;printf("输入一段文章:");gets(text);while(text[i]!=0){if((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z')){i++;continue;}else{i++;count++;}}printf("有%d个单词",count+1)}11:/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->Z,B->Z…Z->A,a->z…z->a。*/#includevoidmain(){chari,sum=0,text[1000];printf("请输入一段文字:\n");gets(text);for(i=0;text[i]!=0;i++){if(text[i]>=65&&text[i]<=90)text[i]=155-text[i];if(text[i]>=97&&text[i]<=122)text[i]=219-text[i];}puts(text);}12:/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如“100-100000,220000,250000,300000-600000”。*/#includevoidmain(){inta,b,c;printf("请输入:下限-上限,需要判断的数\n");scanf("%d-%d,%d",&a,&b,&c);if(c<=b&&c>=a)printf("%d在范围内",c);elseprintf("%d不在范围内",c);}13:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。*/#includevoidmain(){chari,a,b,text[1000];printf("请输入需要被替换的字符-替换后的字符\n");scanf("%c-%c",&a,&b);printf("请输入一段文字\n");getchar();gets(text);for(i=0;text[i]!=0;i++)if(text[i]=='a')text[i]='b';puts(text);}14:/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。*/#include#includevoidmain(){chari,b,a[1000];intsum=0;printf("输入一个字符串\n");gets(a);b=strlen(a);if(b%2==0){for(i=0;i<(b/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==(b/2))printf("是回文");elseprintf("不是回文");}else{for(i=0;i<((b-1)/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==((b-1)/2))printf("是回文");elseprintf("不是回文");}}15:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。*/#include"stdafx.h"intcheck(char*p){if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))return1;elsereturn0;}intwordcount(char*text){char*p,*q;intcount=0;p=text;q=p+1;while(*q){if(check(p)&&!(check(q))){p++;q++;count++;}else{p++;q++;}}returncount;}voidmain(){chartext[1000],*word[1000],*p,*q,*first;p=text;q=p+1;inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;printf("请输入一段文字:\n");gets_s(text);//提醒正确输入格式while(text[i+1])i++;if(check(&text[i])){printf("句子结尾漏了标点符号\n");exit(1);}i=0;//将大写字母转换为小写while(text[i]){if(text[i]>='A'&&text[i]<='Z')text[i]+=32;i++;}i=0;/*sum来保存单词数*/sum=wordcount(text);/*把每个单词以字符串形式保存到*word中*/first=text;while(*q){if(check(p)&&!(check(q))){*q=0;word[i]=first;p++;q++;i++;}else{p++;q++;}if(!(check(p))&&check(q))first=q;}/*记各个单词出现次数存在a中*/for(i=0;i{a[i]=0;for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
/*把数组从小到大排列*/
for(i=0;i{for(j=0;j{if(a[j]>a[j+1]){t=a[j+1];a[j+1]=a[j];a[j]=t;}}}j=0;for(i=0;i{while(a[j]+1==a[j+1]){j++;}if(j-i!=0){printf("%d-%d\n",a[i],a[j]);i=j;j++;}if(j-i==0){printf("%d\n",a[i]);i=j;j++;}}}8:/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。*/#includevoidmain(){inta,c;charb,d;inti;printf("输入区间以'.'结束以','分隔,例如1-8,22-30:");do{scanf("%d%c%d%c",&a,&b,&c,&d);for(i=a;i<=c;i++)printf("%d",i);}while(d!='.');}10:/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/#includevoidmain(){chartext[1000];intcount=0,i=0;printf("输入一段文章:");gets(text);while(text[i]!=0){if((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z')){i++;continue;}else{i++;count++;}}printf("有%d个单词",count+1)}11:/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->Z,B->Z…Z->A,a->z…z->a。*/#includevoidmain(){chari,sum=0,text[1000];printf("请输入一段文字:\n");gets(text);for(i=0;text[i]!=0;i++){if(text[i]>=65&&text[i]<=90)text[i]=155-text[i];if(text[i]>=97&&text[i]<=122)text[i]=219-text[i];}puts(text);}12:/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如“100-100000,220000,250000,300000-600000”。*/#includevoidmain(){inta,b,c;printf("请输入:下限-上限,需要判断的数\n");scanf("%d-%d,%d",&a,&b,&c);if(c<=b&&c>=a)printf("%d在范围内",c);elseprintf("%d不在范围内",c);}13:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。*/#includevoidmain(){chari,a,b,text[1000];printf("请输入需要被替换的字符-替换后的字符\n");scanf("%c-%c",&a,&b);printf("请输入一段文字\n");getchar();gets(text);for(i=0;text[i]!=0;i++)if(text[i]=='a')text[i]='b';puts(text);}14:/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。*/#include#includevoidmain(){chari,b,a[1000];intsum=0;printf("输入一个字符串\n");gets(a);b=strlen(a);if(b%2==0){for(i=0;i<(b/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==(b/2))printf("是回文");elseprintf("不是回文");}else{for(i=0;i<((b-1)/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==((b-1)/2))printf("是回文");elseprintf("不是回文");}}15:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。*/#include"stdafx.h"intcheck(char*p){if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))return1;elsereturn0;}intwordcount(char*text){char*p,*q;intcount=0;p=text;q=p+1;while(*q){if(check(p)&&!(check(q))){p++;q++;count++;}else{p++;q++;}}returncount;}voidmain(){chartext[1000],*word[1000],*p,*q,*first;p=text;q=p+1;inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;printf("请输入一段文字:\n");gets_s(text);//提醒正确输入格式while(text[i+1])i++;if(check(&text[i])){printf("句子结尾漏了标点符号\n");exit(1);}i=0;//将大写字母转换为小写while(text[i]){if(text[i]>='A'&&text[i]<='Z')text[i]+=32;i++;}i=0;/*sum来保存单词数*/sum=wordcount(text);/*把每个单词以字符串形式保存到*word中*/first=text;while(*q){if(check(p)&&!(check(q))){*q=0;word[i]=first;p++;q++;i++;}else{p++;q++;}if(!(check(p))&&check(q))first=q;}/*记各个单词出现次数存在a中*/for(i=0;i{a[i]=0;for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
for(j=0;j{if(a[j]>a[j+1]){t=a[j+1];a[j+1]=a[j];a[j]=t;}}}j=0;for(i=0;i{while(a[j]+1==a[j+1]){j++;}if(j-i!=0){printf("%d-%d\n",a[i],a[j]);i=j;j++;}if(j-i==0){printf("%d\n",a[i]);i=j;j++;}}}8:/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。*/#includevoidmain(){inta,c;charb,d;inti;printf("输入区间以'.'结束以','分隔,例如1-8,22-30:");do{scanf("%d%c%d%c",&a,&b,&c,&d);for(i=a;i<=c;i++)printf("%d",i);}while(d!='.');}10:/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/#includevoidmain(){chartext[1000];intcount=0,i=0;printf("输入一段文章:");gets(text);while(text[i]!=0){if((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z')){i++;continue;}else{i++;count++;}}printf("有%d个单词",count+1)}11:/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->Z,B->Z…Z->A,a->z…z->a。*/#includevoidmain(){chari,sum=0,text[1000];printf("请输入一段文字:\n");gets(text);for(i=0;text[i]!=0;i++){if(text[i]>=65&&text[i]<=90)text[i]=155-text[i];if(text[i]>=97&&text[i]<=122)text[i]=219-text[i];}puts(text);}12:/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如“100-100000,220000,250000,300000-600000”。*/#includevoidmain(){inta,b,c;printf("请输入:下限-上限,需要判断的数\n");scanf("%d-%d,%d",&a,&b,&c);if(c<=b&&c>=a)printf("%d在范围内",c);elseprintf("%d不在范围内",c);}13:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。*/#includevoidmain(){chari,a,b,text[1000];printf("请输入需要被替换的字符-替换后的字符\n");scanf("%c-%c",&a,&b);printf("请输入一段文字\n");getchar();gets(text);for(i=0;text[i]!=0;i++)if(text[i]=='a')text[i]='b';puts(text);}14:/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。*/#include#includevoidmain(){chari,b,a[1000];intsum=0;printf("输入一个字符串\n");gets(a);b=strlen(a);if(b%2==0){for(i=0;i<(b/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==(b/2))printf("是回文");elseprintf("不是回文");}else{for(i=0;i<((b-1)/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==((b-1)/2))printf("是回文");elseprintf("不是回文");}}15:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。*/#include"stdafx.h"intcheck(char*p){if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))return1;elsereturn0;}intwordcount(char*text){char*p,*q;intcount=0;p=text;q=p+1;while(*q){if(check(p)&&!(check(q))){p++;q++;count++;}else{p++;q++;}}returncount;}voidmain(){chartext[1000],*word[1000],*p,*q,*first;p=text;q=p+1;inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;printf("请输入一段文字:\n");gets_s(text);//提醒正确输入格式while(text[i+1])i++;if(check(&text[i])){printf("句子结尾漏了标点符号\n");exit(1);}i=0;//将大写字母转换为小写while(text[i]){if(text[i]>='A'&&text[i]<='Z')text[i]+=32;i++;}i=0;/*sum来保存单词数*/sum=wordcount(text);/*把每个单词以字符串形式保存到*word中*/first=text;while(*q){if(check(p)&&!(check(q))){*q=0;word[i]=first;p++;q++;i++;}else{p++;q++;}if(!(check(p))&&check(q))first=q;}/*记各个单词出现次数存在a中*/for(i=0;i{a[i]=0;for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
if(a[j]>a[j+1])
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
j=0;
for(i=0;i{while(a[j]+1==a[j+1]){j++;}if(j-i!=0){printf("%d-%d\n",a[i],a[j]);i=j;j++;}if(j-i==0){printf("%d\n",a[i]);i=j;j++;}}}8:/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。*/#includevoidmain(){inta,c;charb,d;inti;printf("输入区间以'.'结束以','分隔,例如1-8,22-30:");do{scanf("%d%c%d%c",&a,&b,&c,&d);for(i=a;i<=c;i++)printf("%d",i);}while(d!='.');}10:/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/#includevoidmain(){chartext[1000];intcount=0,i=0;printf("输入一段文章:");gets(text);while(text[i]!=0){if((text[i]>='a'&&text[i]<='z')||(text[i]>='A'&&text[i]<='Z')){i++;continue;}else{i++;count++;}}printf("有%d个单词",count+1)}11:/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->Z,B->Z…Z->A,a->z…z->a。*/#includevoidmain(){chari,sum=0,text[1000];printf("请输入一段文字:\n");gets(text);for(i=0;text[i]!=0;i++){if(text[i]>=65&&text[i]<=90)text[i]=155-text[i];if(text[i]>=97&&text[i]<=122)text[i]=219-text[i];}puts(text);}12:/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如“100-100000,220000,250000,300000-600000”。*/#includevoidmain(){inta,b,c;printf("请输入:下限-上限,需要判断的数\n");scanf("%d-%d,%d",&a,&b,&c);if(c<=b&&c>=a)printf("%d在范围内",c);elseprintf("%d不在范围内",c);}13:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。*/#includevoidmain(){chari,a,b,text[1000];printf("请输入需要被替换的字符-替换后的字符\n");scanf("%c-%c",&a,&b);printf("请输入一段文字\n");getchar();gets(text);for(i=0;text[i]!=0;i++)if(text[i]=='a')text[i]='b';puts(text);}14:/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。*/#include#includevoidmain(){chari,b,a[1000];intsum=0;printf("输入一个字符串\n");gets(a);b=strlen(a);if(b%2==0){for(i=0;i<(b/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==(b/2))printf("是回文");elseprintf("不是回文");}else{for(i=0;i<((b-1)/2);i++){if(a[i]==a[b-1-i])sum++;elsebreak;}if(sum==((b-1)/2))printf("是回文");elseprintf("不是回文");}}15:/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。*/#include"stdafx.h"intcheck(char*p){if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))return1;elsereturn0;}intwordcount(char*text){char*p,*q;intcount=0;p=text;q=p+1;while(*q){if(check(p)&&!(check(q))){p++;q++;count++;}else{p++;q++;}}returncount;}voidmain(){chartext[1000],*word[1000],*p,*q,*first;p=text;q=p+1;inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;printf("请输入一段文字:\n");gets_s(text);//提醒正确输入格式while(text[i+1])i++;if(check(&text[i])){printf("句子结尾漏了标点符号\n");exit(1);}i=0;//将大写字母转换为小写while(text[i]){if(text[i]>='A'&&text[i]<='Z')text[i]+=32;i++;}i=0;/*sum来保存单词数*/sum=wordcount(text);/*把每个单词以字符串形式保存到*word中*/first=text;while(*q){if(check(p)&&!(check(q))){*q=0;word[i]=first;p++;q++;i++;}else{p++;q++;}if(!(check(p))&&check(q))first=q;}/*记各个单词出现次数存在a中*/for(i=0;i{a[i]=0;for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
while(a[j]+1==a[j+1])
if(j-i!
printf("%d-%d\n",a[i],a[j]);
i=j;
if(j-i==0)
printf("%d\n",a[i]);
8:
/*输入一个区间范围,输出数组,例如输入1-8,20-23,输出1,2,3,4,5,6,7,8,20,21,22,23。
inta,c;
charb,d;
printf("输入区间以'.'结束以','分隔,例如1-8,22-30:
do
scanf("%d%c%d%c",&a,&b,&c,&d);
for(i=a;i<=c;i++)
while(d!
='.');
10:
/*输入一篇文章,该文章小于1000字符,统计单词的个数,单词是连续的大小写字母组成*/
chartext[1000];
intcount=0,i=0;
printf("输入一段文章:
gets(text);
while(text[i]!
if((text[i]>='a'&&text[i]<='z')||
(text[i]>='A'&&text[i]<='Z'))
i++;
continue;
count++;
printf("有%d个单词",count+1)
11:
/*输入一片文章,该文章小于1000字符,对文中内容进行加密,加密方法是A->Z,B->Z…Z->A,a->z…z->a。
chari,sum=0,text[1000];
printf("请输入一段文字:
for(i=0;text[i]!
=0;i++)
if(text[i]>=65&&text[i]<=90)
text[i]=155-text[i];
if(text[i]>=97&&text[i]<=122)
text[i]=219-text[i];
puts(text);
12:
/*编写一个程序,判断输入的数字是否在指定范围内,范围也由用户输入,例如
“100-100000,220000,250000,300000-600000”。
inta,b,c;
printf("请输入:
下限-上限,需要判断的数\n");
scanf("%d-%d,%d",&a,&b,&c);
if(c<=b&&c>=a)
printf("%d在范围内",c);
printf("%d不在范围内",c);
13:
/*编写一个程序,输入一篇文章,该文章小于1000字符,从中将指定字符串换成另外一个。
chari,a,b,text[1000];
printf("请输入需要被替换的字符-替换后的字符\n");
scanf("%c-%c",&a,&b);
printf("请输入一段文字\n");
getchar();
if(text[i]=='a')
text[i]='b';
14:
/*读入一个字符串,判断它是否是回文,所谓回文即正序和逆序内容相同的字符串。
chari,b,a[1000];
intsum=0;
printf("输入一个字符串\n");
gets(a);
b=strlen(a);
if(b%2==0)
for(i=0;i<(b/2);i++)
if(a[i]==a[b-1-i])
sum++;
if(sum==(b/2))
printf("是回文");
printf("不是回文");
for(i=0;i<((b-1)/2);i++)
if(sum==((b-1)/2))
15:
/*编写一个程序,输入一篇文章,该文章小于1000字符,从中找出出现频率最高的单词。
#include"stdafx.h"
intcheck(char*p)
if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))
return1;
return0;
intwordcount(char*text)
char*p,*q;
intcount=0;
p=text;
q=p+1;
while(*q)
if(check(p)&&!
(check(q)))
p++;
q++;
returncount;
chartext[1000],*word[1000],*p,*q,*first;
inti=0,j=1,t=0,sum=0,a[1000],max=0,wsum;
gets_s(text);
//提醒正确输入格式
while(text[i+1])
if(check(&text[i]))
printf("句子结尾漏了标点符号\n");
exit
(1);
i=0;
//将大写字母转换为小写
while(text[i])
if(text[i]>='A'&&text[i]<='Z')
text[i]+=32;
/*sum来保存单词数*/
sum=wordcount(text);
/*把每个单词以字符串形式保存到*word中*/
first=text;
*q=0;
word[i]=first;
if(!
(check(p))&&check(q))
first=q;
/*记各个单词出现次数存在a中*/
for(i=0;i{a[i]=0;for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
a[i]=0;
for(j=0;jif(strcmp(word[i],word[j])==0)a[i]=a[i]+1;}for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
if(strcmp(word[i],word[j])==0)
a[i]=a[i]+1;
for(i=0;i{for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
for(j=i;j{if(i!=j&&strcmp(word[i],word[j])==0)a[j]=0;}}for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
if(i!
=j&&strcmp(word[i],word[j])==0)
a[j]=0;
for(i=0;i{if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
if(a[max]max=i;}printf("出现最多次的单词:%s",word[max]);for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
max=i;
printf("出现最多次的单词:
%s",word[max]);
for(i=0;i{if(a[max]==a[i]&&i!=max)printf("%s",word[i]);}printf(",出现了%d次\n",a[max]);}
if(a[max]==a[i]&&i!
=max)
printf("%s",word[i]);
printf(",出现了%d次\n",a[max]);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1