帮忙做道C语言题。急!!!
一、实验目的1、熟悉并掌握程序设计语言的基本机构、C语言的基本语法。2、掌握分支结构、循环结构的使用。3、掌握程序设计的基本算法。二、实验内容使用函数分别实现:字符分类统...
一、实验目的
1、熟悉并掌握程序设计语言的基本机构、C语言的基本语法。
2、掌握分支结构、循环结构的使用。
3、掌握程序设计的基本算法。
二、实验内容
使用函数分别实现:字符分类统计、判断素数、求斐波那契数列和输出菱形图形4个算法。
1、字符分类统计:通过键盘输入一个长度为10的字符串,分别统计出其中大写字母、小写字母、数字、空格和其它字符的个数并输出;
2、判断素数:通过键盘输入一个整数,输入其是否为素数;
3、求斐波那契数列:通过键盘输入一个正整数n,输出前n项斐波那契数列;
4、使用‘*’符号输出菱形图形;
5、退出。
要求通过菜单形式来选择调用那个算法,如下图所示:
由于本人级别太低,无法插入图片,可到该地址查看!图1至图7 多谢!!!
图1到图7地址链接http://hi.baidu.com/yljsnsslx/album/%C4%AC%C8%CF%CF%E0%B2%E1 展开
1、熟悉并掌握程序设计语言的基本机构、C语言的基本语法。
2、掌握分支结构、循环结构的使用。
3、掌握程序设计的基本算法。
二、实验内容
使用函数分别实现:字符分类统计、判断素数、求斐波那契数列和输出菱形图形4个算法。
1、字符分类统计:通过键盘输入一个长度为10的字符串,分别统计出其中大写字母、小写字母、数字、空格和其它字符的个数并输出;
2、判断素数:通过键盘输入一个整数,输入其是否为素数;
3、求斐波那契数列:通过键盘输入一个正整数n,输出前n项斐波那契数列;
4、使用‘*’符号输出菱形图形;
5、退出。
要求通过菜单形式来选择调用那个算法,如下图所示:
由于本人级别太低,无法插入图片,可到该地址查看!图1至图7 多谢!!!
图1到图7地址链接http://hi.baidu.com/yljsnsslx/album/%C4%AC%C8%CF%CF%E0%B2%E1 展开
3个回答
展开全部
#include <stdio.h>
#include<string.h>
void func1()
{
int a=0,b=0,c=0,d=0,e=0,i,j;
char str[40];
printf("Enter a string:");
scanf("%s",str);
j=strlen(str);
for(i=0;i<j;i++){
if((str[i]>='A')&&(str[i]<='Z')) {a++;}
else if((str[i]>='a')&&(str[i]<='z')) {b++;}
else if((str[i]>='0')&&(str[i]<='9')) {c++;}
else if(str[i]==' ') {d++;}
else {e++;}
}
printf("大写字母:%d个,小写字母:%d个,数字:%d个,空格:%d个,其它字符:%d个\n\n",a,b,c,d,e);
}
void func2()
{
int i,j,flag=1;
printf("Enter a number:");
scanf("%d",&j);
for(i=2;i<j;i++)
{if(j%i==0)
flag=0;break;
}
if(flag)
printf("%d is a prime number\n\n",j);
else
printf("%d is not a prime number\n\n",j);
}
void func3()
{
int i,n;
int f[100]={1,1};
printf("Enter a number n(n>2):");
scanf("%d",&n);
for(i=2;i<n;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<n;i++)
{
printf("%7d",f[i]);
}
printf("\n\n");
}
void func4()
{
int i,j,n;
printf("请输入一个数n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;j<n-i;j++)
printf(" ");
for(j=0;j<2*i-1;j++)
printf("*");
printf("\n");
}
for(i=1;i<n;i++)
{for(j=0;j<i;j++)
printf(" ");
for(j=0;j<2*(n-i)-1;j++)
printf("*");
printf("\n");
}
printf("\n");
}
void main()
{ int a,b=1;
while(b)
{
printf("请选择要调用哪个算法:\n");
printf("[1]字符分类统计\n");
printf("[2]判断素数\n");
printf("[3]求斐波那契数列\n");
printf("[4]使用'*'符号输出菱形图形\n");
printf("[5]退出\n");
printf("请选择:");
scanf("%d",&a);
printf("\n");
switch(a)
{
case 1: func1();break;
case 2: func2(); break;
case 3: func3(); break;
case 4: func4(); break;
case 5: b=0;break;
default:printf("请输入1-5的数!!!\n");break;
}
}
}
#include<string.h>
void func1()
{
int a=0,b=0,c=0,d=0,e=0,i,j;
char str[40];
printf("Enter a string:");
scanf("%s",str);
j=strlen(str);
for(i=0;i<j;i++){
if((str[i]>='A')&&(str[i]<='Z')) {a++;}
else if((str[i]>='a')&&(str[i]<='z')) {b++;}
else if((str[i]>='0')&&(str[i]<='9')) {c++;}
else if(str[i]==' ') {d++;}
else {e++;}
}
printf("大写字母:%d个,小写字母:%d个,数字:%d个,空格:%d个,其它字符:%d个\n\n",a,b,c,d,e);
}
void func2()
{
int i,j,flag=1;
printf("Enter a number:");
scanf("%d",&j);
for(i=2;i<j;i++)
{if(j%i==0)
flag=0;break;
}
if(flag)
printf("%d is a prime number\n\n",j);
else
printf("%d is not a prime number\n\n",j);
}
void func3()
{
int i,n;
int f[100]={1,1};
printf("Enter a number n(n>2):");
scanf("%d",&n);
for(i=2;i<n;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<n;i++)
{
printf("%7d",f[i]);
}
printf("\n\n");
}
void func4()
{
int i,j,n;
printf("请输入一个数n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;j<n-i;j++)
printf(" ");
for(j=0;j<2*i-1;j++)
printf("*");
printf("\n");
}
for(i=1;i<n;i++)
{for(j=0;j<i;j++)
printf(" ");
for(j=0;j<2*(n-i)-1;j++)
printf("*");
printf("\n");
}
printf("\n");
}
void main()
{ int a,b=1;
while(b)
{
printf("请选择要调用哪个算法:\n");
printf("[1]字符分类统计\n");
printf("[2]判断素数\n");
printf("[3]求斐波那契数列\n");
printf("[4]使用'*'符号输出菱形图形\n");
printf("[5]退出\n");
printf("请选择:");
scanf("%d",&a);
printf("\n");
switch(a)
{
case 1: func1();break;
case 2: func2(); break;
case 3: func3(); break;
case 4: func4(); break;
case 5: b=0;break;
default:printf("请输入1-5的数!!!\n");break;
}
}
}
2009-11-24
展开全部
char a[100];
int a,b,c,d,e,f;
a=b=c=d=e=f=0;
while(a<10)
{
sacaf ("%c",&a[a]);
a++;
}
for(a=0;a<10;a++)
{
if(a[a]>=A && a[a]<=Z)b++;
else if(a[a]>=a && a[a]<=z)c++;
else if(a[a]>=0 && a[a]<=9)d++;
else if(a[a]==' ')e++;
else f++;
}
输出bcdef;
int a,b,c,d,e,f;
a=b=c=d=e=f=0;
while(a<10)
{
sacaf ("%c",&a[a]);
a++;
}
for(a=0;a<10;a++)
{
if(a[a]>=A && a[a]<=Z)b++;
else if(a[a]>=a && a[a]<=z)c++;
else if(a[a]>=0 && a[a]<=9)d++;
else if(a[a]==' ')e++;
else f++;
}
输出bcdef;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include"stdio.h"
#include"string.h"
void zifu()
{
char zf[11]; int i,a,b,c,d,f;
a=b=c=d=f=0;
printf("Enter a string\n");
for(i=0;i<10;i++)
scanf("%c",&zf[i]);
for(i=0;i<10;i++)
{
if(zf[i]>47&&zf[i]<58){a++;}
else if(zf[i]>64&&zf[i]<91){b++;}
else if(zf[i]>96&&zf[i]<123){c++;}
else if(zf[i]==32){d++;}
else {f++;}
}
printf("小写字母 %d 大写字母 %d 数字 %d 空格 %d 其它 %d\n",c,b,a,d,f);
}
void sushu()
{
int a,c,i;
printf("input number :");
scanf("%d",&a);
for(i=2;i<a/2;i++)
if(a%i==0)
c++;
if(c==0) printf("%d素数\n",a);
else printf("%d不是素数\n",a);
}
void shulie()
{
unsigned int a,i,g,l=0,s=1;
printf("您想要输出斐波那契数列的前几项:");
scanf("%d",&a);
for(i=0;i<a;i++)
{
printf("%d ",s);
g=s;
s+=l;
l=g;
}
printf("\n");
}
void lx()
{
int a=40,b,c=-1,j,i,d=19;
for(j=d;j>0;j--)
{
if(j>d/2)
{
a--;c+=2;
}
else{c-=2;a++;}
for(i=0;i<a;i++)
printf(" ");
for(b=0;b<c;b++)
printf("*");
printf("\n");
}
}
void main()
{
int a=1;
int z;
while(a)
{
printf("[1]字符统计\n[2]判断素数\n[3]求斐波那契数列\n[4]使用*号输出菱形\n[5]退出\n");
scanf("%d",&z);
switch(z)
{
case 1: zifu();break;
case 2: sushu(); break;
case 3: shulie(); break;
case 4: lx(); break;
case 5: a=0;break;
default: printf("请输入1~5的数\n");break;
}
}
}
不知道为什么,统计字符的时候如果输入的字符超过10个函数调用结束,就会自动帮你选菜单选项。。。
#include"string.h"
void zifu()
{
char zf[11]; int i,a,b,c,d,f;
a=b=c=d=f=0;
printf("Enter a string\n");
for(i=0;i<10;i++)
scanf("%c",&zf[i]);
for(i=0;i<10;i++)
{
if(zf[i]>47&&zf[i]<58){a++;}
else if(zf[i]>64&&zf[i]<91){b++;}
else if(zf[i]>96&&zf[i]<123){c++;}
else if(zf[i]==32){d++;}
else {f++;}
}
printf("小写字母 %d 大写字母 %d 数字 %d 空格 %d 其它 %d\n",c,b,a,d,f);
}
void sushu()
{
int a,c,i;
printf("input number :");
scanf("%d",&a);
for(i=2;i<a/2;i++)
if(a%i==0)
c++;
if(c==0) printf("%d素数\n",a);
else printf("%d不是素数\n",a);
}
void shulie()
{
unsigned int a,i,g,l=0,s=1;
printf("您想要输出斐波那契数列的前几项:");
scanf("%d",&a);
for(i=0;i<a;i++)
{
printf("%d ",s);
g=s;
s+=l;
l=g;
}
printf("\n");
}
void lx()
{
int a=40,b,c=-1,j,i,d=19;
for(j=d;j>0;j--)
{
if(j>d/2)
{
a--;c+=2;
}
else{c-=2;a++;}
for(i=0;i<a;i++)
printf(" ");
for(b=0;b<c;b++)
printf("*");
printf("\n");
}
}
void main()
{
int a=1;
int z;
while(a)
{
printf("[1]字符统计\n[2]判断素数\n[3]求斐波那契数列\n[4]使用*号输出菱形\n[5]退出\n");
scanf("%d",&z);
switch(z)
{
case 1: zifu();break;
case 2: sushu(); break;
case 3: shulie(); break;
case 4: lx(); break;
case 5: a=0;break;
default: printf("请输入1~5的数\n");break;
}
}
}
不知道为什么,统计字符的时候如果输入的字符超过10个函数调用结束,就会自动帮你选菜单选项。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询