一个字符串S(由L个小写字母组成,5<=L<=100,000),然后他把S顺时针绕成一个圈,每次取一个做开头字母
.填空题
请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。
例如:str1=“How do”,str2=“ you do?”,结果输出:How do you do?
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 40
void fun(char *str1,char *str2)
{
int i=0;
char *p1=str1;
char *p2=str2;
while()
i++;
for( ;;i++)
*(p1+i)=;
*(p1+i)='\0';
}
main()
{
char str1[N],str2[N];
clrscr();
printf("*****Input the string str1 &
str2*****
");
printf("
str1:");
gets(str1);
printf("
str2:");
gets(str2);
printf("**The string str1 & str2**
");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*****The new string *****
");
puts(str1);
}
答案及评析:
*(p1+i) *p2 *p2++
填空1:变量i用来记录字符串str1的长度,当指针指到字符串str1结束标志符‘\0'时,while循环结束,变量i停止累加。填空2:指针p2指向字符串str2,通过for循环将字符串str2接在str1后面,循环结束的条件是指针p2所指的字符是字符串结束标志符‘\0'。填空3:指针p2最初指向字符串str2的首字符,通过自加1,使指针p2依次向后移动,指向str2的各个字符,实现将字符串str2接在str1后面的功能。
1.填空题
请补充函数fun(),该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。
例如:当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,
10.0,16.0},结果为:avg=15.030000。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
double fun(double x[10])
{
int i;
long t;
double avg=0.0;
double sum=0.0;
for(i=0;i<10;i++)
;
avg=sum/10;
avg=;
t=;
avg=(double)t/100;
return avg;
}
main()
{
double avg,x[10]={15.6,19.9,16.7,15.2,
18.3,12.1,15.5,11.0,10.0,16.0};
int i;
clrscr();
printf("
The original data is :
");
for(i=0;i<10;i++)
printf("%6.1f",x[i]);
printf("
");
avg=fun(x);
printf("average=%f
",avg);
}
答案及评析:
sum+=x[i] avg*1000 (avg+5)/10
填空1:通过for循环求出10个数的累加和,存于变量sum中。填空2:为了实现四舍五入保留两位小数的功能,应将平均值先扩大1000倍。填空3:将平均值加上5,再除以10,实现四舍五入的功能。
1.填空题
请补充函数fun(),该函数的功能是:从‘a’到‘z’统计一个字符串中所有字母字符各自出现的次数,结果保存在数组alf中。注意:不区分大小写,不能使用字符串库函数。
例如,输入:“A=abc+5*c”,结果为:a=2,b=1,c=2。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 100
void fun(char *tt,int alf[])
{
int i;
char *p=tt;
for(i=0;i<26;i++)
;
while(*p)
{
if(*p>='A'&&*p<='Z')
;
if(*p>='a'&&*p<='z')
alf[*p-'a']++;
;
}
}
main()
{
char str[N];
char a='a';
int alf[26],k;
clrscr();
printf("
Please enter a char string:");
scanf("%s",str);
printf("
**The original string**
");
puts(str);
fun(str,alf);
printf("
**The number of letter**
");
for(k=0;k<26;k++)
{
if(k%5==0)
printf("
");
printf("%c=%d ",a+k,alf[k]);
}
printf("
");
}
答案及评析:
alf[i]=0 *p+=32 p++
填空1:数组alf[26]用来存放字母字符出现的次数,在使用之前需要清零。填空2:题目要求不区分大小写,所以可以先将所有的大写字母都转换为对应的小写字母,然后一并记录出现的次数。将大写字母转换为对应的小写字母,只需将ASCII码加上32就可以了。填空3:指针p指向字符串tt,通过p自加1来移动指针,访问字符串中的所有字符。
1.填空题
请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。
例如,输入aeiouAOUpqrt,结果为A:2 E:1 I:1 O:2 U:2 other:4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#include
#define N 100
void fun(char *str,int bb[])
{
char *p=str;
int i=0;
for(i=0;i<6;i++)
;
while(*p)
{
switch(*p)
{
case 'A':
case 'a':bb[0]++;break;
case 'E':
case 'e':bb[1]++;break;
case 'I':
case 'i':bb[2]++;break;
case 'O':
case 'o':bb[3]++;break;
case 'U':
case 'u':bb[4]++;break;
default:;
}
}
}
main()
{
char str[N],ss[6]="AEIOU";
int i;
int bb[6];
clrscr();
printf("Input a string:
");
gets(str);
printf("the string is:
");
puts(str);
fun(str,bb);
for(i=0;i<5;i++)
printf("
%c:%d",ss[i],bb[i]);
printf("
other:%d",bb[i]);
}
答案及评析:
bb[i]=0 bb[5]++ p++;
填空1:数组bb[6] 用来存放5个元音字母和其他字符的个数,在使用之前需要清零。
填空2:数组元素bb[5] 用来存放其他字符的个数,当指针p所指的字符不是元音字母时,则认为是其他字符,bb[5]加1。填空3:指针p指向字符串str,通过p自加1来移动指针,访问字符串中的所有字符。
1.填空题
str是全部由小写字母字符和空格字符组成的字符串,由num传入字符串的长度。请补充函数fun(),该函数的功能是:统计字符串str中的单词个数,结果由变量num传回。每个单词之间都由空格隔开,并且字符串str开始不存在空格。
例如:str=“how do you do”,结果为:num=4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 80
void fun(char *s,int *num)
{
int i,n=0;
for(i=0;;i++)
{
if(s[i]>=’a’&&s[i]<=’z’&&(s[i+1]==
’ ’||s[i+1]==’\0’))
;
}
;
}
main()
{
char str[N];
int num=0;
printf("Enter a string:
");
gets(str);
while(str[num])
num++;
fun(str,&num);
printf("The number of word is :
%d
",num);
}
答案及评析:i<*num n++ *num=n
填空1:*num传入字符串的长度,所以for循环中变量i的变化范围是从0到*num-1。填空2:如果当前判断的字符是小写字母,并且它的下一个字符是空格或者是字符串结束标记符,则表示当前字符是一个单词的最后一个字母,统计单词数的变量n要加上1。填空3:题目要求结果由变量num传回,所以要将n的值赋给指针num所指的单元。
1.填空题
str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。请补充函数fun(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如:str=“Bcd123e456hui890”,结果为:123456890。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#define N 80
int bb[N];
int fun(char s[],int bb[],int num)
{
int i,n=0;
for(i=0;i<num;i++)
{
if()
{
bb[n]=;
n++;
}
}
return ;
}
main()
{
char str[N];
int num=0,n,i;
printf("Enter a string:
");
gets(str);
while(str[num])
num++;
n=fun(str,bb,num);
printf("
bb= ");
for(i=0;i<n;i++)
printf("%d",bb[i]);}
答案及评析:s[i]>= ′0′ &&s[i]<= ′9′ s[i]- ′0′ n
填空1:如果当前字符的ASCII码大于字符′0′的ASCII码,而小于字符′9′的ASCII码,则说明当前字符是数字字符。填空2:将数字字符转换为数字的方法是,用当前数字字符的ASCII码减去字符′0′的ASCII码。填空3:题目要求函数返回数组bb的长度,而变量n记录了数字字符的个数,也就是数组bb的长度,所以函数应该返回n。
1.填空题
从键盘输入一组无符号整数并保存在数组xx[N]中,以整数0结束输入,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。
例如:当xx[8]=时,
bb[4]=。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
试题程序:
#include
#define N 1000
int fun(int xx[],int bb[],int num)
{
int i, n=0;
int g, s;
for(i=0;i
{
g=;
s=xx[i]/10 ;
if((g+s)>5)
;
}
return;
}
main()
{int xx[N];
int yy[N];
int num=0,n=0,i=0;
printf("Input number :
");
do
{
scanf("%u",&xx[num]);
}
while(xx[num++]!=0);
n=fun(xx,yy,num);
printf("
yy=");
for(i=0;i
printf("%u ",yy[i]);
}答案及评析:xx[i] bb[n++]=xx[i] n
填空1:将一个整数对10取余,则得到这个整数的个位数,将一个整数除以10再对10取余,则得到这个整数的十位数。由程序可以看出,变量s保存了整数的十位数,所以应该将整数的个位数保存于变量g中。填空2:当整数的个位与十位的数字之和大于5时,则将这个整数存于数组bb中,同时,变量n记录了满足条件的无符号整数的个数。填空3:题目要求满足条件的无符号整数的个数由fun函数返回,所以函数返回n。
1.填空题
请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回“no!”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#include <conio.h>
char *fun(int n)
{
int g,s,b;
g=n%10;
s=n/10%10;
b=;
if((g+b)==s)
return;
else
return;
}
main()
{
int num=0;
clrscr();
printf("******Input data *******
");
scanf("%d",&num);
printf("
");
printf("****** The result *******
");
printf("
%s",fun(num));
}
答案及评析:n/100%10 〃yes!〃 〃no!〃
填空1:由程序可以知道,变量g保存了整数的个位数,变量s保存了整数的十位数,所以变量b应该保存整数的百位数。将整数除以100再对10取余,则得到这个整数的百位数。填空2:当个位数字和百位数字之和等于十位数字时,则返回〃yes!〃。填空3:当个位数字和百位数字之和不等于十位数字时,则返回〃no!〃。
1.填空题
请补充main函数,该函数的功能是:从一个字符串中截取前面若干个给定长度的子字符串。其中,str1指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。
例如:当str1=“cdefghij”,然后输入4,则str2=“cdef”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#include<conio.h>
#define LEN 80
main()
{
char str1[LEN],str2[LEN];
int n,i;
clrscr();
printf("Enter the string:
");
gets(str1);
printf("Enter the position of the string
deleted:");
scanf();
for(i=0;i<n;i++)
str2[i]=’\0’;
printf("The new string is:%s
",);
}
答案及评析:〃%d〃,&n str2[i]=str1[i]; str2
填空1:本题考查对标准输入函数scanf()的调用格式,由后面的程序可以知道,变量n保存了要截取的字符数,注意在n前面不要忘了取址符‘ &’。填空2:截取前n个字符,就是将字符串str1的前n个字符依次赋给字符串str2的前n个字符。填空3:本题考查对标准输出函数printf()的调用格式,根据题意,应输出截取后的字符串,即字符串str2。
1.填空题
请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define LEN 80
main()
{
char str1[LEN],str2[LEN];
char *p1=str1,*p2=str2;
int i=0,j=0;
clrscr();
printf("Enter the string:
");
scanf();
printf("***the origial string***
");
while(*(p1+j))
{
printf("",*(p1+j));
j++;
}
for(i=0;i<j;i+=2)
*p2++=*(str1+i);
*p2=’\0’;
printf("
The new string is:%s
",);
}
答案及评析:〃%s〃,str1 %c str2
填空1:本题考查对标准输入函数scanf()的调用格式,当输入字符串时,格式控制字符串为〃%s〃,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。填空2:本题考查对标准输出函数printf()的调用格式,当输出为字符型变量时,格式控制字符串为〃%c〃。填空3:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以printf()函数的输出表列是str2
CTRL + 0~9 ---编队。
SHIFT + 0~9 ---加入编队。
CTRL + F(1~4) ---设定建筑物编号。
CTRL ---强行攻击。打击幻影和防止自己误伤。
CTRL + SHIFT---移动攻击。可用于探路的时候,增加咬死对方狗狗的机会,也可以用于对付蜘蛛海和飞兵。
ALT---强制移动。压兵和躲避法国大炮。
ALT + Z---压兵。COOL!
CTRL + ALT ---保护其他单位。
D ---部署。特别是对美国大兵和装了辐射兵的防空车。
G---警戒。对幻影效果特别好。
X---散开。主要用于美国大兵。
S---停止行动。可以让部队快速停止移动,利于诱敌进入你的优势火力中,也可在与狗狗对面碰的时候,快速反应,咬死对方的狗。
CTRL + 方向键---移动到屏幕底端。初期探路用,非常好。
F---跟随镜头。
Z---设定移动和攻击路线。
多人对战模式键:
TAB---外交菜单。
A---同盟。
C---欢呼。
Enter---与所有观战者交谈。按Enter开启交谈功能,输入讯息后,再按 Enter 传送讯息,按鼠标右键取消讯息。
Home---与所有盟友交谈。
End---与所有玩家交谈。
B---布置信标 。按下 B 键,按下 Enter 输入讯息后,再按 Enter 传讯,按 Del 取消讯息。
Ctrl + F1~F4---设立书签。
F1 ~ F4---前往书签所在位置。
F5 ~ F12 ---向其他玩家传送预设的音效讯息。
常用的是:D展开,H回主基地,T是全选。Ctrl+Nnm(1~9)为编号。G为自动警戒。
扩展资料
游戏模式
该游戏共有两种模式,每种模式都能设定三种难度,沿用了原版的所有游戏模式:
1、剧情模式,可以解锁剧情,观看游戏中的故事,对战双方是固定的,无法更改。
2、遭遇战,玩家可以自由设定对战双方和限制武器,可以自由更换地图。消灭除自己外的所有角色胜利。
资源系统
游戏内玩家需要生产资源,才能进行一系列操作。资源只有货币一种,沿用了原版的所有设置。玩家需要利用采矿车到采矿场或者油井开采。货币中是主要的资源。货币被用来建造新的建筑物,训练单位或启用特殊的服务。
建筑系统
游戏中,根据建筑的不同,可分为以下几个大类,游戏中沿用了原版所有的建筑:
1、基地,基地可以建造建筑。
2、采矿设备,包括采矿场,石油井,可以赚钱以购买设备。
3、兵营,广义上的兵营包括飞机场,士兵兵营,战车制造厂等,可以建造单位。
4、发电厂,发电厂可以减少生产单位之间的冷却时间。
5、作战实验室,可以解锁更高级的兵种,但也会降低发电厂的工作效率。
6、防御设施,可以抵抗外来入侵。
7、超级武器,包括核弹等,杀伤力巨大。
8、中立建筑,可以驻兵保护,所有的中立建筑都有其容量,不允许两方的士兵同时进入中立建筑。
研发系统
游戏中,可以通过建设各类建筑,解锁更高级的兵种,其中,作战实验室可以大量兵种,游戏内能够研发80多种兵种:
1、士兵,兵营
2、工程师,兵营+采矿场
3、警犬,兵营
4、火箭飞行兵,兵营 + 空指部
5、间谍,兵营 + 作战实验室
6、海豹部队,兵营 + 作战实验室
7、谭雅,兵营 + 作战实验室
8、超时空军团兵,兵营 + 作战实验室
9、防空步兵,兵营 + 雷达
10、磁爆步兵,兵营
11、疯狂伊文,兵营 + 雷达
12、尤里,兵营 + 作战实验室
参考资料:百度百科:红色警戒2:共和国之辉
#include <iostream>
#include <string>
#include <list>
using namespace std;
int main()
{
int iNum,i;
string sSource;
cout <<"输入字母个数:"<<endl;
cin>>iNum;
cout <<"输入字符串"<<endl;
cin.width(iNum+1);
cin >>sSource;
list<string> slist;
for(i=0;i<iNum;i++)
slist.push_back(sSource.substr(i,iNum-1)+sSource.substr(0,i));
slist.sort();
string stemp=slist.front();
i=iNum;
do
{
if(sSource==stemp)
{
cout <<"口令是:"<<iNum-i<<endl;
break;
}
stemp.insert(stemp.begin(),stemp[iNum-1]);
stemp.erase(iNum,1);
}while(i--);
return 0;
}
恩,因为你说要时间,下面这个更快,是c的
#include <stdio.h>
#include <malloc.h>
#include <string.h>
int scmp(char *A,char *B)
{
while(*A++==*B++);
return *--A-*--B;
}
main()
{
int iNum,i,iCode;
char *sSource,*sMin,*sTemp;
puts("输入字母个数:");
scanf("%d",&iNum);
fflush(stdin);
sSource=(char*)malloc(iNum+1);
sMin=(char*)malloc(iNum+1);
sTemp=(char*)malloc(iNum+1);
memset(sMin,127,iNum+1);
puts("输入字符串:");
for(i=0;i<iNum;i++)
sSource[i]=getchar();
sSource[iNum]=0;
for(i=0;i<iNum;i++)
{
strcpy(sTemp,sSource+i);
strncpy(sTemp+iNum-i,sSource,i);
sTemp[iNum]=0;
if(scmp(sTemp,sMin)<0)
{
memcpy(sMin,sTemp,iNum+1);
iCode=i;
}
}
printf("口令是:%d",iCode);
free(sSource);
free(sMin);
free(sTemp);
}
恩,这个思路的效率更高:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int iNum;
cin >>iNum;
string sSource;
cin >>sSource;
int len=-1,i;
vector<int> ivec;
for(i=0;i<iNum;i++)
ivec.push_back(i);
while(++len<iNum&&ivec.size()>1)
{
string stemp;
vector<int> itemp;
for(i=0;i<ivec.size();i++)
stemp+=sSource[(ivec[i]+len)%iNum];
char min=*min_element(stemp.begin(),stemp.end());
for(i=0;i<stemp.size();i++)
if(stemp[i]==min)
itemp.push_back(ivec[i]);
ivec=itemp;
}
cout <<ivec[0];
}
对应的c版
#include <stdio.h>
#include <string.h>
main()
{
char *sSource,*flag,min;
int iNum,time=1,len=0,i;
scanf("%d",&iNum);
sSource=(char*)malloc(iNum+1);
flag=(char*)malloc(iNum);
memset(flag,1,iNum);
scanf("%s",sSource);
while(time)
{
time=-1,min=127;
for(i=0;i<iNum;i++)
if(flag[i])
if(min>sSource[(i+len)%iNum])
min=sSource[(i+len)%iNum];
for(i=0;i<iNum;i++)
if(flag[i])
if(sSource[(i+len)%iNum]!=min)
flag[i]=0;
else
time++;
len++;
}
for(i=0;i<iNum;i++)
if(flag[i])
printf("%d",i);
free(sSource);
free(flag);
}
有何用?LZ想用来做什么?
输出变序后的字符串?
要输出密码?肯定不是,密码肯定是你输入的数字-1.
是要写函数还是?
要加密直接 -- 不就完了?
C语言 字符串的输出,为什么输出那么多‘烫’呢?
输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部初始化为CC。而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。即是说在最后没有字符串结束标志'\\0'。
输入一个字符串str和一个过滤字符串s(代表一个过滤表),将str中所有来自...
就是第三个字符。x3前面声明是char类型,是字符类型数组。n=l; 是把l的值赋值给n。x1[j]=0;意思 同x3[l]=0的意思是一样的,不过j的值会在for循环里面有所改变。for(i=0;x3[i];i++)这个写法貌似 有问题吧。应该是i<x[3].length吧。--》for(i=0;i<x3.length;i++)。
1.若串S=tsinghua ,其非空子串的数目是多少?写出分析过程 (6分)
给定字符串 S = "tsinghua"。非空子串的数目可以通过以下方式进行分析:1. 首先,一个字符串的非空子串个数等于该字符串长度加上长度为1的子串个数。2. 字符串长度为 n,长度为 1 的子串个数为 n。3. 接下来,我们考虑长度大于 1 的子串。对于长度为 l 的子串,我们可以通过选择起始位置和...
C语言删除字符串中指定字符
一、问题描述:从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str。1、输入:第一行是一个字符串; 第二行是一个字符。2、输出:删除指定字符后的字符串。二、设计思路:1、 同插入问题,定义两个字符数组a,b。以及标志删除位置的int型pos。2、用gets函数...
一个长度为5的字符串,其索引范围是?
s = "hello"可以使用下列索引访问字符串中的每个字符:s[0] # 访问字符串的第一个字符 'h's[1] # 访问字符串的第二个字符 'e's[2] # 访问字符串的第三个字符 'l's[3] # 访问字符串的第四个字符 'l's[4] # 访问字符串的第五个字符 'o'可以使用下列语句访问字符串的最后...
字符串中的双引号表示什么意思
例:copy(‘abdag’,2,3)=’bda’3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。例:s:=’abcde’;delete(s,2,3);结果s:=’ae’4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置 例:s:=abc;insert(‘12’,s,2);结果s:=’a12...
若有两个字符串sl="l2345",s2="34",执行S=Instr(sl,s2)后,S的值为...
【答案】:B 本题考查Instr函数的知识。Instr函数也称为字符串检索函数,返回值为第二个字符串参数在第一个字符串参数中最早出现的位置。
睡前说:不存在的Berry数
现在,让我们考虑一类特殊的U_s中的图灵机:“最短图灵机”s',它满足 len(s')<=len(u), u∈U_s 。 因此,任何一个字符串s都可以被“压缩”为s',而len(s')则被称为s的“本征长度”。 假定,图灵机K是寻找任意字符串s所对应的最短图灵机s'的图灵机。 k是K的长度,即k=len(K)。 由于L是由有限字...
用C语言,将字符串str中的所有字符k 删除
include <stdio.h> int main(){ char str[80]="iam a kingdem";puts(str);int i, j = 0;for(i=0; str[i]; i++)if(str[i]!='k'){ str[j] = str[i];j++;} str[j] = '\\0';puts(str);return 0;}
什么是字符串
字符串是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串为符号或数值的一个连续序列,如符号串或二进制数字串。通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一...
翟福曲安: #include<stdio.h> #include<stdlib.h> #include<string.h>static int v[1024];//访问数组 static char t[1024][1024], a[1024]; static int j = 0, count = 0;void pailie(char *s, int M, int k) {int i;if (j != M){for (i = 0; i < strlen(s); i++){if (v[i] == 0){v[i] = 1;...
钦南区15744415387: 用c++将一个字符串s中的小写字母都改成大写字母.(假设s的长度为30) - ?
翟福曲安: #include #define LETTER 1 void main () { char str[30] ,c; printf ("输入字符:\n") ; gets(str); int i; i=0; while ((c=str[i])!='\0' ) { i++ ; #if LETTER if(c>='a' && c <= 'z') c=c-32; #else if(c>='A' && c <= 'Z') c=c+32; #endif printf ("%c",c); } printf ("\n") ; }
钦南区15744415387: 键盘输入一个仅由小写字母组成的字符串,输出以该串中任取M 个字母的所有排列及排列总数. - ?
翟福曲安: 给你举个例子吧:输入abc,M值取2.则程序的输出应该是abc中任取两个字母的所有排列方式及总数.即: ab ac bc 3要用到排列组合的方法.可以查阅数学里排列知识. 解题思路:可以先把字符串里出现的字符及其出现的次数统计出来.然后根据M的值构造出一个新的长度为M的字符串,字符串的字符必须在原字符串里有的字母,且出现的次数不能多于在原字符串里出现的次数.还要注意有没有重复构造,如aab,M=2,只要两种.
钦南区15744415387: C语言(简单的)编写程序输入任意一串字符统计其中大写字母,小写字母.数字及其他字符的个数 - ?
翟福曲安: #include <stdio.h> void count(char*); int main() { char ch[100]={0}; scanf("%s", ch); count(ch); return 0; } void count(char* ch) { //分别记录大写,小写,数字的个数. int big=0, small=0, character=0,qita = 0; while (*ch) { if ((*ch>='A')&&(*ch<='Z')) { +...
钦南区15744415387: 用C++写一个程序将一个字符串s中的小写字母都改成大写字母.(假设s的长度为30) - ?
翟福曲安: #include <iostream>#define LETTER 1 void main () { char str[30] ,c; printf ("输入字符:\n") ; gets(str); int i; i=0; while ((c=str[i])!='\0' ) { i++ ; #if LETTER if(c>='a' && c <= 'z') c=c-32; #else if(c>='A' && c <= 'Z') c=c+32; #endif printf ("%c",c); } printf ("\n") ; }
钦南区15744415387: C语言程序设计:2、输入一个由字母组成的字符串,并分别以大写字母和小写字母形式输出该字符串. - ?
翟福曲安: 代码: #include#define MAX_LENGTH 300 char toLower(char ch) { if('A' return ch - 'A' + 'a'; return ch; } char toUpper(char ch) { if('a' return ch - 'a' + 'A'; return ch; } int main() { char buf[MAX_LENGTH]; scanf("%s", buf); for(char* p = buf; *p; p++) ...
钦南区15744415387: c语言字符串匹配问题 - ?
翟福曲安: #include#include#include#include#define MAXSIZE 10240#define WORDSIZE 256 int main() { int isCaseSensitive , totalInput , totalLength=0, length; int i = 0 ; char* line_addr, *lines_ , *line_addr_; char lines[MAXSIZE]; char word[WORDSIZE]; ...
钦南区15744415387: C语言编程:输入一个由字母组成的字符串,分别以大写字母和小写字母形式输出该字符串 - ?
翟福曲安: #include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>// 把字符串转换为小写 char* str2lower(char *str) { char *p = str; while (*str){ *str = tolower(*str); str++; } return p; }// 把字符串转换为大写 char* str2upper(char *str) { char *p = ...
钦南区15744415387: C语言 输入一个只由小写字母组成的字符串,长度小于100,数一数每个字母的个数 - ?
翟福曲安: #include<stdio.h> char charindex[26]={0}; int count[26]={0}; char a[101];int main() {char c='\0';int i=0,k=0, j=0,n=0; printf("Enter no more than 100 lowwer characters \n");gets(a);//读取一串字符. for(i=0;i<min(strlen(a),100);i++){if(a[i]<='z...
钦南区15744415387: 首先定义一个StringBuffer,类对象s,然后通过append()方法为对象s添加26个小写字母.要求每次添加一个字母 - ?
翟福曲安: StringBuffer s = new StringBuffer();for(int i = 97; i < 97 + 26; i++) {s.append((char)i);}System.out.println(s.toString());