大一寒假通关练第一天(C++)

      经过了大一上半年的学习,作为一个c语言的初学者来说可谓是辛酸又辛苦。随着对c语言学习的深入,我感觉来到了深水区,不管怎么努力总感觉有些力不从心。所以寒假这个好机会要好好把握,踏踏实实每一天,希望对C++方面有个巨大的进步。我感觉C语言最难的是数组与指针这块,在重新对C语言的进阶版(C++)学习时,要好好体会、领悟,加油!

第一题:

请用指针进行编写:给一个字符串a,再给一个字符串b,找出b在a中第一次出现的位置,然后输出从此位置后的所有字符。

例如:输入:a:1234567,b:345 输出:34567。

#include
char *solve(char *a,char *b);
using namespace std;
int main()
{
	int i,j;
	char a[110];      //开辟大一些的内存空间
	char b[20];
	cout<<"输入一个字符串a:\n"; 
		cin>>a;   //在C++中字符数组的输入可以直接用数组名
	cout<<"输入一个字符串b:\n";
		cin>>b;
		cout<

注:有关flag用法的介绍,即标记了字符串b在字符串a中出现或不出现的两种不同的状态。当flag=1时,字符串b在字符串a中出现;当flag=0时,字符串b在字符串a中不出现。其实flag不一定等于0或1,只要等于两个不同的数表示不同状态就可以了。

第二题:

给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。

 

#include
char a[5];
int sum[1000];
int main()
{
	scanf("%s",a);
	for(int i=0;a[i]!='\0';i++)
	sum[a[i]-'0']++;
	for(int i=0;i<10;i++)
	{
		if(sum[i]!=0)
		{
			printf("%d:%d\n",i,sum[i]);
		}
	}
	return 0;
}

 

 

 

 

 

 
 

 

你可能感兴趣的:(大一寒假通关练第一天(C++))