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

15 篇文章 0 订阅
/*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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言作为一门广泛应用的编程语言,学习它对于新手来说是很有必要的。为了更好地掌握C语言的基本概念和编程技巧,新手可以尝试刷编程50题。以下是一些理由: 首先,刷编程题可以帮助新手熟悉C语言的语法规则和常用函数。通过解决各种不同类型的编程问题,新手可以加深对C语言的理解,并培养编程思维和逻辑思维能力。 其次,刷编程题可以帮助新手锻炼编程的实践能力。学习编程语言不仅仅是理论的学习,更需要通过实践来提高。通过解决编程题目,新手可以学习如何将问题分解为更小的子问题,如何设计实现算法和数据结构,并加深对编程的实践经验。 此外,刷编程题还有助于新手了解常见的编程模式和技巧。在解决编程问题的过程中,新手可以接触到各种常见的编程模式,如循环、条件判断、递归等,并学习如何运用这些模式来解决实际问题。 最后,刷编程题可以提高新手的自信心。通过解决一系列编程问题,新手可以逐渐掌握C语言的基本知识和编程技巧,从而在编程能力上取得明显的进步。这种进步不仅可以帮助新手更好地完成后续的学习和项目,还可以增强新手在编程方面的自信心。 总而言之,刷编程50题对C语言新手来说是非常有益的。通过解决一系列编程问题,新手可以加深对C语言的理解,锻炼编程实践能力,掌握常见的编程模式和技巧,并提升自信心。因此,我强烈推荐C语言新手刷编程50题来加深对C语言的掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值