【c语言】c语言常见编程题总结(四)

来源:互联网 发布:public class java 编辑:程序博客网 时间:2024/04/30 09:44
/*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;}*/


 

0 0