C语言问题
1.任意输入一字符串。依次取出该串中的所有52个大小写英文字母字符,
形成新的字符串,并取代原字符串。
2.给定不重复整型数组{10,20,30,40,50,60,70,80,90,100}。编写程序
任意输入一个整数,若在数组中找到该整数,则将该整数在数组中删
除(可移至数组最后位置);否则,给出未找到提示。
参考答案:1。
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
char *str=(char *)malloc(1024);
gets(str);
char *tmp=(char *)malloc(strlen(str)+1);
memset(tmp,0,strlen(tmp));
char *p,*q;
p=str;
q=tmp;
while(*p!='\0')
{
if(isalpha(*p))
{
*q++=*p;
}
p++;
}
*q='\0';
free(str);
str=tmp;
tmp=NULL;
printf("%s\n",str);
return 0;
}
2。
#include <stdio.h>
#define num 10
int main()
{
int arr[num]={10,20,30,40,50,60,70,80,90,100};
int key;
scanf("%d",&key);
int i=0;
for(;key!=arr[i]&&i<num;i++);
if(i>=num)
{
printf("can't find it\n");
}
else
{
if((i+1)==num)
{
arr[i]=key;
}
else
{
while(i<num)
{
arr[i]=arr[i+1];
i++;
}
arr[num-1]=key;
}
for(int j=0;j<num;j++)
{
printf("%d\n",arr[j]);
}
}
return 0;
}
以上程序在VC6.0上调试通过。