/*39.使用c语言编写程序,当输入小写字母a,输出大写字母Z,当输入小写字母b,输出大写字母Y,以此类推。当输入小写字母z,输出大写字母A。
#include <stdio.h>
int main()
{
char turn_form(char ch);
char ch=0;
char ret=0;
printf("请输入一个字母:");
scanf("%c",&ch);
ret=turn_form(ch);
printf("%c\n",ret);
return 0;
}
char turn_form(char ch)
{
int ret='a'-'Z';
int tmp='a'-ch;
if((ch>='a')&&(ch<='z'))
{
ch=ch+2*tmp-ret;
}
return ch;
}
//a减去它之后的字符一定是一个负值
*/
/*38.从标准输入读取字符,并把它们写到标准输出,除了大写字母转换成小写字母之外,其他的原样输出。
#include <stdio.h>
int main()
{
int ch;
while((ch=getchar())!=EOF)
{
if(ch>='A'&&ch<='Z')
{
ch=ch+32;
putchar(ch);
}
else
{
putchar(ch);
}
}
return 0;
}
*/
/*37.使用c语言编写一个函数,它从一个字符串中提取一个字符串。函数原型如下:
//int substr(char dst[],char src[],int start,int len){}
//dst数组必须以NULL字节结尾。函数的返回值是存储于dst数组中的字符串的长度
#include <stdio.h>
int main()
{
int substr(char dst[],char src[],int start,int len);
char src[]="hello world";
char dst[20];
int start,len;
scanf("%d,%d",&start,&len);
int ret=substr(dst,src,start,len);
printf("%d\n",ret);
printf("%s\n",dst);
return 0;
}
int substr(char dst[],char src[],int start,int len)
{
int i;
for(i=0;i<len-start+1;i++)
{
dst[i]=src[start+i];
}
dst[len-start+1]='\0';
return i;
}
*/
/*36.将一个字符串内容逆序
#include <stdio.h>
#include <string.h>
int main()
{
void reverse(char s[]);
char str[20];
printf("请输入一个字符串:");
scanf("%s",&str);
reverse(str);
printf("%s\n",str);
return 0;
}
void reverse(char s[])
{
int i,length;
char t;
length=strlen(s);
for(i=0;i<length/2;i++)
{
t=s[i];
s[i]=s[length-1-i];
s[length-1-i]=t;
}
}
*/
/*35.在字符串中查找一个指定的字符第一次出现的位置,并返回字符所在的位置,如果不存在则返回NULL
#include <stdio.h>
#include <string.h>
int main()
{
char* my_strchr(char*str,char c);
char str[20];
scanf("%s",&str);
my_strchr(str,'a');
return 0;
}
char* my_strchr(char*s,char c)
{
char *p=s;
while(*s&&*s!=c)
{
s++;
}
if(*s==c)
{
printf("所要匹配的字符位置为:%d\n",s-p);
}
else
{
printf("没有找到匹配的\n");
}
return s;
}
*/
/*34.程序接收一个整数的输入,输出该整数的每一位
#include <stdio.h>
int main()
{
void convert(int n);
int num;
printf("请输入一个整数:");
scanf("%d",&num);
if(num<0)
{
putchar('-');
num=-num;
}
convert(num);
return 0;
}
void convert(int n)
{
int i;
if((i=n/10)!=0)
convert(i);
putchar(n%10+'0');
putchar(32);
}
*/
/*33.求1-100这100个整数中9出现的次数
#include <stdio.h>
int main()
{
int i;
int count=0;
for(i=1;i<=100;i++)
{
if(i%10==9)
{
count++;
}
if(i/10==9)
{
count++;
}
}
printf("count=%d\n",count);
return 0;
}
*/
/*32.不允许创建第三方变量交换两个数的值
//加减
#include <stdio.h>
int main()
{
int a,b;
printf("请输入两个数:");
scanf("%d,%d",&a,&b);
a=b+a;
b=a-b;
a=a-b;
printf("a=%d,b=%d\n",a,b);
return 0;
}
//异或
#include <stdio.h>
int main()
{
int a,b;
printf("请输入两个数:");
scanf("%d,%d",&a,&b);
a=a^b;
b=b^a;
a=a^b;
printf("a=%d,b=%d\n",a,b);
return 0;
}
*/
/*31.编写程序判断你的电脑存储方式是大端存储还是小端
//大端:数据的高字节保存在内存的高地址中;
//小端:数据的高字节保存在低地址中;
#include <stdio.h>
int main()
{
int a=1;
if(*(char*)&a==1)
{
printf("little\n");
}
else
{
printf("big\n");
}
return 0;
}
*/