★★★★★
编写一个函数,功能是使输入的字符串逆序输出。输入
输入一串字符串,注意字符串中不要有空格。
输出
输出该字符串的逆序。
样例输入
ABCDEFG
样例输出
GFEDCBA
提示
#include<iostream>
#include<cstring>
using namespace std;
int fuction(char *str, int len)
{
int i;
for(i=len-1;i>=0;i--)
cout<<str[i];
return 0;
}
int main()
{
char str[100];
cin>>str;
int len;
len=strlen(str);
int fuction(char *, int);
fuction(str,len);
return 0;
}
★★★★★
用指针编写一个程序,输入字符串后,统计其中各种字符的个数,输出其中大小写字母,数字,以及其他字符的个数。
主函数已经给出,请编写统计字符种类函数。
输入
一串字符串
输出
该字符串中大小写字母,数字,以及其他字符的个数,最后输出总字符串长度。样例输入
I play LOL for 3 years.
样例输出
4
namespace是干嘛的12
1
6
23
#include <stdio.h>
#include<iostream>
using namespace std;
void fuction(char *ptr)
{
int a=0,b=0,c=0,d=0,t=0;
for(;*ptr!='\0';ptr++)
{
if(*ptr>='a'&&*ptr<='z')
a++;
else if(*ptr>='A'&&*ptr<='Z')
b++;
else if(*ptr>='0'&&*ptr<='9')
c++;
else d++;
}
t=a+b+c+d;
cout<<b<<endl;
cout<<a<<endl;
cout<<c<<endl;
cout<<d<<endl;
cout<<t<<endl;
}
int main()
{
char str[100];
gets(str);
char *ptr=str;
void fuction(char *);
fuction(ptr);
return 0;
}
★★★★★
指针的功能多种多样,指针是c语言的灵魂,所以说掌握指针是很重要的。下面要求你用指针实现两个数字的交换
输入
两个int型的变量
输出
交换后的两个变量
样例输入
1 2
样例输出
2 1
#include<iostream>
using namespace std;
void exc(int *p,int *q)
{
int t;
t=*p;
*p=*q;
*q=t;
}
int main()
{
int a,b;
int *c=&a,*d=&b;
void exc(int*,int*);
cin>>a>>b;
exc(c,d);
cout<<a<<" "<<b<<endl;
return 0;
}
★★★★★
编写一函数,求一个字符串的长度,要求用字符指针实现。
在主函数中输入字符串,调用该函数输出其长度,长度不大于100 输入
输入一个字符串
输出
输出该字符串的长度
样例输入
abcdef
样例输出
6
提示
#include <iostream>
using namespace std;
void MyStrlen(char *pa)
{
int i=0;
i=0;
while(pa[i]!='\0')
{
i++;
}
cout<<i<<endl;
}
int main()
{
char a[101];
cin>>a;
void MyStrlen(char *pa);
MyStrlen(a);
return 0;
}
★★★★★
黄金螺旋是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例,斐波那契数列为1,1,2,3.......,规律为f(n)=f(n-1)+f(n-2)。
斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,由上述意思可得,第一个正方形的边长为1,第二个正方形的边长为1,第三个正方形的边长为2,第四个正方形为3......由斐波那契数列可得剩余的边长。
输入
输入一个整型变量表示第几个1/4圆,即第几个正方形的边长。
输出
输出对应的边长。
样例输入  6
样例输出8
#include <iostream> using namespace std;
int fib(int i);
int main()
{
int i;
cin>>i;
cout<<fib(i)<<endl;
return 0;
}
int fib(int i)
{
if(i==1||i==2) return 1;
else return fib(i-1)+fib(i-2);
}
★★★★★
有n个人坐在一起,问第n个人多少岁?他说比第n-1个人大2岁。
问第n-1个人岁数,他说比第n-2个人大2岁。
最后问第一个人,他说是10岁。
请问第n个人多大?即已知最后一个人的年龄求第n个人的年龄,用递归算法实现。
输入
输入一个整数n,表示第n个人
输出
输出第n个人的年龄
样例输入10
样例输出28
#include<iostream>
using namespace std;
int age(int i)
{
if(i==1) return 10;
else return 2+age(i-1);
}
int main()
{
int i;
int age(int);
cin>>i;
cout<<age(i);
return 0;
}
★★★★★
小平的家所在的小区,汽车太多了,小平的爸爸下班后经常不到车位,不得不把车停到别处去,因为每天进进出出很麻烦,
所以爸爸每天到小区门口时就让小平发个短信,告诉他车位的情况。
小平家所在的小区总共有8个车位,字符"@"表示车位有车,字符"#"表示车位无车
如”@#@@##@@“表示有3个车位。
输入
输入一行字符串表示车位情况
输出
输出有几个车位
样例输入
@@##@##@
样例输出
4
提示
主函数与头文件已给定如下,提交时不需要包含下述主函数与头文件
#include<iostream>
using namespace std;
int chewei(char a[])
{
int c=0,i;
for(i=0;i<8;i++)
{
if(a[i]=='#')
c+=1;
}
return c;
}
int main()
{
int chewei(char []);
char a[8];
cin>>a;
cout<<chewei(a);
}
★★★★★
运动会开了n天,第n天发出金牌m枚。第一天发金牌1枚,第二天发金牌前一天的两倍加一枚,以后每天都照此办理。
开了n天,第n天发了m块金牌。你能编个简单的小程序求算m吗?
输入
输入一个整数n,表示运动会开的天数。
输出
计算对应发的奖牌数m。
样例输入
1
样例输出
1
提示
主函数与头文件已给定如下,提交时不需要包含下述主函数与头文件
#include<iostream>
using namespace std;
int count(int gold)
{
if(gold==1)
return 1;
else return 2*count(gold-1)+1;
}
int main()
{
int gold;
int count(int);
cin>>gold;
cout<<count(gold);
}
★★★★★
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
输入
两个数
输出
最大公约数最小公倍数
样例输入
6 15
样例输出
3 30
#include <iostream>
using namespace std;
int gcd(int a, int b)
{
int t;
while(a%b)//A除以B可以除尽取余的情况。
{
t=b;
b=a%b;
a=t;
}//循环小的数除以余数。将最小公约数赋予A。
return b;
}
int lcm(int a, int b)
{
int t;
if(a<b)
{
t=a;
a=b;
b=t;
}//A<b;交换两数
for(int i=1;i<=b;i++)
{
if((((a*i)%b))==0)//求最小公倍数
{
return a*i;
}
}//求公倍数
}
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
cin>>n>>m;
gys=gcd(n,m);
gbs=lcm(n,m);
cout<<gys<<" "<<gbs<<endl;
return 0;
}
★★★★★
C语言习题用递归方法求f(n) = 12+22+...+n2 ,n的值由主函数输入。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。