程序设计复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
必做题
1、输入一行字符,要求完成:
(1)每个单词中的第一个字母改成大写字母(如果原来已是大写字母则不变)。
(2)全变成大写字母
(3)全变成小写字母
要求:以函数的形式实现,在main函数中调用,要支持输入
#include
#include
void main( )
{
char string[81];
int i,flag=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ')flag=0;
else if(flag==0)
{
if(c>=97&&c<=122)
string[i]=c-32;
}
}
puts(string);
for(i=0;(c=string[i])!='\0';i++) {
if(c==' ')flag=0;
else
{
flag=1;
if(c>=97&&c<=122)
string[i]=c-32;
}
}
puts(string);
for(i=0;(c=string[i])!='\0';i++) {
if(c==' ')flag=0;
else
{
if(c>=65&&c<=90)
string[i]=c+32;
}
}
puts(string);
}
2、编写将a所指字符串中的字符按逆序存放,然后和b所指字符串中的字符,
按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为"abcdefg",b所指字符串中的内容为"1234"时,c所指数组中的内容应该为"g1f2e3d4cba";而当a所指字符串中的内容为"1234",b所指字符串中的内容为"abcdefg"时,c所指数组中的内容应该为"4a3b2c1defg"。
#include
#include
void main()
{
char a[100],b[100],c[100],t;
int i,j,k;
gets(a);
gets(b);
for(i=0,j=strlen(a)-1;i<=j;i++,j--)//strlen(a) {
t=a[i];a[i]=a[j];a[j]=t;
}
i=j=k=0;
while(a[i]&&b[j])
{
c[k++]=a[i++];
c[k++]=b[j++];
}
while(a[i]) c[k++]=a[i++];
while(b[j]) c[k++]=b[j++];
c[k]='\0';
puts(c);
}
3、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加
密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
要求:以函数的形式实现,在main函数中调用,输入一串数据,输出加密后的数据;
#include
int main()
{
int a[4];
int i,t;
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
a[i]=(a[i]+5)%10;
for(i=0;i<2;i++)
{
t=a[i];
a[i]=a[3-i];
a[3-i]=t;
}
for(i=0;i<4;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
4、猜数游戏
编写一个猜数字游戏,游戏规则:
(a)使用随机函数产生一个5位数,各位上的数字不重复,从1到9。
(b)按以下提示猜出这个5位数:
对每次输入猜测的数据:给出本次共猜对了多少个数字、猜对的数字并且位置正确的个数。
#include
#include
#include
#include
void main()
{
int A=0,B,i,j,k=0,a[5],g[5];
printf("请输入你猜测的一个5位数数字\n");
scanf("%d",&k);
while(k<12345||k>99999)
{
printf("你输入了一个非常规数据,请重新输入\n");
scanf("%d",&k);
}
srand((unsigned int)time(NULL));
for(i=0;i<5;i++)
{
a[i]=rand()%9+1;
for(j=0;j
while(a[i]==a[j])
{
a[i]=rand()%9+1;
j=-1;
}
}
printf("随机给出的数字为\n");
for(i=0;i<5;i++)
printf("%d",a[i]);
printf("\n");