文章标题
来源:互联网 发布:mac怎么装虚拟机win10 编辑:程序博客网 时间:2024/06/05 06:28
C语言入门基础编程案例-10道题
1.编写程序,要求:
⑴ 设计函数,求字符串中的数字字符个数。
⑵ 设计函数,求一个整数的反转数。如f(2673)=3762
⑶ 在main函数中,
①输入一个字符串,求串中的数字字符个数,并输出;
②输入一个整数,输出其反转数。
这里是代码区块:
#include "iostream.h"int TotalNumber(char *s);int GetNumber(int n);int main(int argc, char* argv[]){ char a[200]; int n; cout << "\n输入一个字符串:"; cin >> a; cout << "\n字符串中数字字符数=" << TotalNumber(a) <<endl; cout << "\n输入一个整数:"; cin >> n; cout << n << "的反转数=" << GetNumber(n) <<endl; return 0;}int TotalNumber(char *s){//统计串中数字字符个数//参数:s指向要处理的串//返回值:串中数字字符个数 int v=0,i; for(i=0;s[i];i++) if(s[i]>='0' && s[i]<='9') v++; return v;}int GetNumber(int n){ int a; for(a=0;n;n/=10) a=a*10+n%10; return a;}
2.编写程序,要求:
⑴设计函数,求字符串中的字母字符个数。
⑵设计函数,求一个整数各位数码的平均值。如f(2673)=(3+7+6+2)/4
⑶在main函数中,
①输入一个字符串,求串中的字母字符个数,并输出;
②输入一个整数,输出其各位数码的平均值。
这里是代码区块:
#include "iostream.h"int Total(char *s);float GetAve(int n);int main(int argc, char* argv[]){ char a[200]; int n; cout << "\n输入一个字符串:"; cin >> a; cout << "\n字符串中字母字符数=" << Total(a) <<endl; cout << "\n输入一个整数:"; cin >> n; cout << n << "的各位数码平均值=" << GetAve(n) <<endl; return 0;}int Total(char *s){//统计串中字母字符个数//参数:s指向要处理的串//返回值:串中字母字符个数 int v=0,i; for(i=0;s[i];i++) if((s[i]>='a' && s[i]<='z')||(s[i]>='A' && s[i]<='Z')) v++; return v;}float GetAve(int n){ float a; int i; for(i=0,a=0;n;n/=10,i++) a+=n%10; if(i) a/=i; return a;}
3.编写程序,要求:
⑴ 设计函数,将字符串反转。如”abcd”变成”dcba”。
⑵ 设函数, ,编写一递归函数,求函数值。
⑷ 在main函数中,
① 输入一个字符串,将字符串反转,并输出;
②输入一个整数n,求函数f(n)的值,并输出。
#include "iostream.h"#include "string.h"double f(int n);void SetXchg(char *s);int main(int argc, char* argv[]){ char a[200]; int n; cout << "\n输入一个字符串:"; cin >> a; SetXchg(a); cout << "\n字符串反转后的串:" << a <<endl; cout << "\n输入一个整数:"; cin >> n; cout << "f(" << n << ")="<< f(n) <<endl; return 0;}void SetXchg(char *s){//串反转//参数:s指向要处理的串 char m; int i,j; for(i=0,j=strlen(s)-1;i<j;i++,j--) { m=s[i];s[i]=s[j];s[j]=m; }}double f(int n){ double a=1.3; if(n>0) a=1.5*f(n-1); return a;}
4.编写程序,要求:
⑴ 设计函数,测试一个整数是否是素数。
⑵ 设计函数,统计整数n到整数m间的素数个数。
⑶ 在main函数中,输入两个整数n和m,求整数n到整数m间的素数个数,并输出。
#include "iostream.h"int GetN(int m,int n);int main(int argc, char* argv[]){ int m,n; cout << "\n统计整数m到n之间的素数个数\n\n输入整数m,n:"; cin >> m >> n; cout << "整数" << m << "到" << n << "之间的素数个数=" << GetN(m,n) <<endl; return 0;}bool Test(int n){//测试n是否为素数,返回真,是;否则,不是 bool v=true; int i; for(i=2;i<=n/2;i++) if(n%i==0) { v=false;break; } return v;}int GetN(int m,int n){ int v; for(v=0;m<=n;m++) if(Test(m)) v++; return v;}
5.编写程序,要求:
⑴ 设计函数,对字符串中的字符按ASCII码值进行从小到大排序。
⑵ 设计函数,删除字符串相同字符,使得相同字符只保留一个。
⑶ 在main函数中,输入一个字符串,删除字符串相同字符,使得相同字符只保留一个,并输出。
#include "iostream.h"#include "string.h"void DelC(char a[]);void Sort(char a[]);int main(int argc, char* argv[]){ char a[200]; cout << "\n输入一个字符串:"; cin >> a; Sort(a); DelC(a); cout << a <<endl; return 0;}void Sort(char a[]){//串a中字符按ASII代码值升序 int i,j; char m; for(i=strlen(a);i>1;i--) for(j=1;j<i;j++) if(a[j-1]>a[j]) { m=a[j];a[j]=a[j-1];a[j-1]=m; }}void DelC(char a[]){//有序串中删除相同字符 int i,j; for(i=j=0;a[j];j++) if(a[i]!=a[j]) a[++i]=a[j]; a[++i]=0;}
6.编写程序,要求:
⑴ 设计函数,对字符串中小写字母进行改变,使得
‘a’变成‘h’,‘b’变成‘i’,……,‘y’变成‘f’,‘z’变成‘g’,其它字符不变。如”0A1abcdefghijklmnopqrstuvwxyz9Q”变成”0A1hijklmnopqrstuvwxyzabcdefg9Q”。
⑵ 设计函数,求n行4列的整型二维数组中偶数个数。
⑶ 在main函数中,
① 输入一个字符串,将字符串中小写字母进行改变,并输出;
② 输入20个整数到5行4列数组中,求该数组中偶数个数,并输出。
void xchg(char a[]);int f(int a[][4],int n);void main(){ char s[100]; int a[5][4]; cout << "\n输入字符串:"; cin >> s; xchg(s); cout << "\n转换后的字符串:" << s << endl; cout << "\n输入20个整数到5行4列数组中:";/* for(int i=0;i<5;i++) for(int j=0;j<4;j++) cin >> a[i][j];*/ for(int i=0;i<20;i++) cin >> a[0][i]; cout << "\n偶数个数=" << f(a,5) << endl;}void xchg(char a[]){ for(int i=0;a[i];i++) if(a[i]>='a' && a[i]<='z') a[i]=(a[i]-'a'+7)%26+'a';}int f(int a[][4],int n){ int v,i,j; for(v=i=0;i<n;i++) for(j=0;j<4;j++) if(a[i][j]%2==0) v++; return v;}
7.编写程序,要求:
⑴ 设计函数,删除字符串中大写字母。如”0A1def9Q”变成” 01def9”。
⑵ 设计函数,求n行4列的整型二维数组中的最小值。
⑶ 在main函数中,
① 输入一个字符串,删除字符串中大写字母,并输出;
③ 输入20个整数到5行4列数组中,求该数组中最小值,并输出。
void xchg(char a[]);int f(int (*a)[4],int n);void g(int (*a)[4],int n,int &row,int &col);void main(){ char s[100]; int a[5][4]; cout << "\n输入字符串:" << endl; cin >> s; xchg(s); cout << "\n转换后的字符串:" << s << endl; cout << "\n输入20个整数到5行4列数组中:"; for(int i=0;i<5;i++) for(int j=0;j<4;j++) cin >> a[i][j]; for(int i=0;i<20;i++) cin >> a[0][i]; cout << "\n最小值=" << f(a,5) << endl; int r,c; g(a,5,r,c); cout << "\n最小值=" << a[r][c] << "在第" << r+1 << "行,第" << c+1 << "列" << endl;}void xchg(char a[]){ int i,j; for(i=j=0;a[j];j++) if(!(a[j]>='A' && a[j]<='Z')) a[i++]=a[j]; a[i]=0;}int f(int (*a)[4],int n){ int min,i,j; for(min=a[0][0],i=0;i<n;i++) for(j=0;j<4;j++) if(a[i][j]<min) min=a[i][j]; return min;}void g(int (*a)[4],int n,int &row,int &col){//记录最小值所在下标(row,col) int i,j; for(row=0,col=0,i=0;i<n;i++) for(j=0;j<4;j++) if(a[i][j]<a[row][col]) { row=i; col=j; }}
9.编写程序,要求:
⑴ 设计函数,求一个整数的各位数码和。如f(267)=2+6+7=15。
⑵ 设计函数,求整型一维数组前n个数各位数码和的平均值。
⑶ 在main函数中,输入整数n,以及n个整数到数组中,求数组前n个数各位数码和的平均值,并输出。
int f(int n);double g(int a[],int n);void main(){ int a[100],n; cout << "\n输入整数:" << endl; cin >> n; cout << "\n输入" << n << "个整数:"; for(int i=0;i<n;i++) cin >> a[i]; cout << "\n前" << n << "个整数各位数码和的平均值=" << g(a,n) << endl;}int f(int n){ int v; for(v=0;n;n/=10) v+=n%10; return v;}double g(int a[],int n){ int i; double v; for(i=v=0;i<n;i++) v+=f(a[i]); return v/n;}
10.编写程序,要求:
⑴ 设计函数,测试一个数,是否能被7整除且个位为1。
⑵ 设计函数,求整型一维数组前n个数中否能被7整除且个位为1的数的个数。
⑶ 在main函数中,输入整数n,以及n个整数到数组中,求数组前n个数中否能被7整除且个位为1的数的个数。
bool f(int n);int g(int a[],int n);void main(){ int a[100],n; cout << "\n输入整数:" << endl; cin >> n; cout << "\n输入" << n << "个整数:"; for(int i=0;i<n;i++) cin >> a[i]; cout << "\n前" << n << "个整数中,否能被7整除且个位为1的数的个数=" << g(a,n) << endl;}bool f(int n){ return n%7==0 && n%10==1;}int g(int a[],int n){ int v; for(v=0;n>0;n--) if(f(a[n-1])) v++; return v;}
设计函数,求文本(字符串)中的单词的平均长度。
#include "iostream.h"#include "stdio.h"double total(char a[]);void main(){ char a[200]; cout << "\n输入字符串:" << endl; gets(a); cout << "\n单词个数=" << total(a) << endl;}double total(char a[]){ double v_len; int i,num,flag; for(v_len=num=flag=i=0;a[i];i++) if((a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z')) { v_len=v_len+1; if(flag==0) { flag=1;num++; } } else flag=0; return v_len/num;}
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- hdu 1521 (字典树)
- 配置Log4j(很详细)
- windows平台定期执行rman全备
- Metrics —— JVM上的实时监控类库
- Python struct模块-深入学习
- 文章标题
- 玩转Android之数据库框架greenDAO3.0使用指南
- SYD8801微信接入测试结果
- 对抗式生成网络---验证码的生成
- MySQL 安装配置
- java实现单点登录
- Python open()文件处理使用介绍
- tomcat建立连接
- 111. Minimum & Maximum Depth of Binary Tree