十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
创新互联公司是一家专业提供吐鲁番企业网站建设,专注与网站设计制作、做网站、H5响应式网站、小程序制作等业务。10年已为吐鲁番众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
#include ctype.h
void main()
{
int i,num,al1,al2,spa,other;
i=num=al1=al2=spa=other=0;
char a[30];
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' ')
spa++;
else if(isdigit(a[i]))
num++;
else if(isupper(a[i]))
al1++;
else if(islower(a[i]))
al2++;
else
other++;
}
printf("空格个数为:%d\n数字个数为:%d\n大写字母个数为:%d\n小写字母个数为:%d\n其它字符个数为:%d\n",spa,num,al1,al2,other);
}
#include stdio.h
#define M 4 // 星期数
#define N 7 // 每个星期的天数
int summitOfWeek(int *a){ //找到各周高峰期
int max=0,i;
for(i=1;iN;i++)
if(a[i]a[max])max=i;
return max;
}
int sumOfWeek(int *a){ //找到各周的总人数
int sum=0,i;
for(i=0;iN;i++)
sum+=a[i];
return sum;
}
int summitOfMonth(int a[][N]){ //比较各周高峰期
int max=0,i;
for(i=1;iM;i++)
if(sumOfWeek(a[i])sumOfWeek(a[max]))max=i;
return max;
}
int main(){
int a[4][7],i,j;
for(i=0;iM;i++){
printf("请输入第%d周的乘车人数(0-50人): ",i+1);
for(j=0;jN;j++)
scanf("%d",a[i][j]);
}
for(i=0;iM;i++)
printf("第%d周的高峰期是第%d天.\n",i+1,summitOfWeek(a[i])+1);
printf("这个月的高峰期是第%d周.\n", summitOfMonth(a)+1);
return 0;
}
……分有点少。。。懒得打了。
你用全局变量存数组 然后在函数中把数组中的每一个数分别判断
比如 n个数
for(i=1;i=n;i++)
if(a[i]==0) s1++;
else
if(a[i]0) s2++;
else s3++;
就像这样 当然 开始要用for循环读入
for(i=1;i=n;i++) scanf("%d",a[i]);
其它的应该不用我说了吧?
C语言函数的运用及调用
1.当程序变得越来越复杂的时候,我们可以使用函数进行完成任务,并不再是进行编写。
2.C语言本身就具有丰富的库函数:
目录路径函数
字符类型分类函数
内存管理函数
数学函数
进程控制函数
日期和时间函数
接口函数
输入输出函数
图形函数
诊断函数
3.每一种函数都有它的作用,在需要使用时,直接进行调用就可以了。
4.函数分为有参和无参函数。
参数可以分为形参与实参。
形参在函数内,而实参在函数外。
形参直接使用,而实参在函数外调用。
5. 函数的值只能通过return语句返回主调函数。
6.在函数内有局部变量和全局变量两种,局部变量在函数内使用,而全局变量可在函数中使用。
7.从变量作用域可以划分全局,而在变量的生存期可以分为静态与动态存储方式。
固定的存储空间与运行时分配的存储空间方式还是有所不同的。
auto声明自动变量,自动变量用关键字作存储类别的声明,在函数调用结束将会自动释放这些存储空间。
static可以声明局部变量,在函数调用结束之后不消失而保留原值。
8.register可以声明局部变量,在函数调用时为了提高效率,可以寄存在CPU的寄存器中。
extern可以声明局部变量,扩展程序文件中的作用域。
很简单嘛
#include "stdio.h"
#include "stdlib.h"
#define N 3
struct student
{
char num[6];
char name[10];
int score[3];
float average;
}stu[N];
int main(void)
{
void print(struct student stu[10]);
int i,j;
for(i=0;iN;i++)
{
printf("input No.: ");
scanf("%s",stu[i].num);
printf("Name: ");
scanf("%s",stu[i].name);
for(j=0;j3;j++)
{ printf("input score: ");
scanf("%d",stu[i].score[j]); }
}
print(stu);
system("pause");
return 0;
}
void print(struct student stu[10])
{
float ave=0;
int i,j,temp=0;
int fscore;
for(i=0;iN;i++)
{ ave=0;
for(j=0;j3;j++)
{
ave+=stu[i].score[j];
stu[i].average=ave/5;
}
}
for(i=0;iN;i++)
{
printf("No. %s Name:%s average:%5.2f\n",
stu[i].num,stu[i].name,stu[i].average);
for(j=0;j3;j++)
printf("score: %d\n",stu[i].score[j]);
}
fscore=stu[0].score[0];
for(i=0;iN;i++)
{for(j=0;j3;j++)
if(fscorestu[i].score[j])
temp=i;
}
printf("\nthe best student is : \n");
printf("No. %s Name:%s average:%5.2f\n",
stu[temp].num,stu[temp].name,stu[temp].average);
printf("input score:\n");
for(j=0;j3;j++)
printf("score: %d\n",stu[temp].score[j]);
}
以前写的 现在学C++了
#includestdio.h
#define N 100
void count(char str[],int times[]) //统计小写字符出现次数
{
int i;
for(i=0;str[i]!='\0';i++)
{
if(str[i]='a' str[i]'a'+26) //只统计小写字符
times[str[i]-97]++; //字符a的ascii码为97,str[i]-97正好将26个字母对应在times数组的26个位置上。
}
}
int main()
{
char str[N];
int i,times[26]; //time数组中每一个元素代表一个小写字符,其值代表字符的出现次数
for(i=0;i26;i++) //初始化,所有字符次数置0
times[i]=0;
scanf("%s",str); //读入字符串
count(str,times); //调用函数统计次数,让times装载统计结果
for(i=0;i26;i++) //输出结果,小写字符a的ascii码为97.
{
printf("%c\t%d\n",i+97,times[i]);
}
return 0;
}