建议楼主看些c的基本教程,7道不算多,前两天我做了一个200分20多道题的,有例为证:http://zhidao.baidu.com/question/57783198.html
vc6.0 运行通过
************************************************************
1.有一篇文章,共有两行,每行60个字符,要求分别统计出其中的英文大写字母,小写字母,数字,逗号
及其他的字符个数?(用二维数组来储存)
#include <stdio.h>
#include <string.h>
int main()
{
int i,j;
int num[2][5],len[2];
char str[2][100];
for(i=0;i<2;i++)
{
for(j=0;j<5;j++) num[i][j]=0;
}
for(i=0;i<2;i++)
{
printf("请输入第%d行\n",i+1);
gets(str[i]);
len[i]=strlen(str[i]);
for(j=0;j<len[i];j++)
{
if('A'<=str[i][j] && str[i][j]<='Z')
num[i][0]++;
else if('a'<=str[i][j] && str[i][j]<='z')
num[i][1]++;
else if('0'<=str[i][j] && str[i][j]<='9')
num[i][2]++;
else if(str[i][j]==',')
num[i][3]++;
else
num[i][4]++;
}
}
for(i=0;i<2;i++)
{
printf("第%d行有英文大写字母%d个,小写字母%d个,数字%d个,逗号%d个,其
他的字符%d个\n",i+1,num[i][0],num[i][1],num[i][2],num[i][3],num[i][4]);
}
return 0;
}
********************************************************************
2.用起泡法对键盘输入的10个数进行排序,按从小到大的顺序输出(用主函数调用子函数的方法)
#include <stdio.h>
void sort(int a[]) // 起泡法
{
int i,j,t;
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main()
{
int i;
int num[100];
printf("请输入10个数:\n");
for(i=0;i<10;i++) scanf("%d",&num[i]);
sort(num);
printf("排序后为:\n");
for(i=0;i<9;i++) printf("%d ",num[i]);
printf("%d\n",num[9]);
return 0;
}
***********************************************************************
3.有一个3行4列的二维数组,从键盘输入数据,编程序求出最小数,该最小数是3行求出最大数中的最小数
。
#include <stdio.h>
int fmax(int a[],int n)
{
int i,max=a[0];
for(i=1;i<n;i++)
{
if(a[i]>max) max=a[i];
}
return max;
}
int fmin(int a[],int n)
{
int i,min=a[0];
for(i=1;i<n;i++)
{
if(a[i]>min) min=a[i];
}
return min;
}
int main()
{
int i,j,min;
int num[10][10],max[10];
printf("请输入3*4个数:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++) scanf("%d",&num[i][j]);
}
for(i=0;i<3;i++) max[i]=fmax(num[i],4);
for(i=0;i<3;i++) min=fmin(max,3);
printf("3行出最大数中的最小数为:%d\n",min);
return 0;
}
****************************************************************************
4.从键盘接收9,8,7,6,5,4,3,2,1,0十个数送人一个一维数组中存放,在按照0,1,2,3,4,
5,6,7,8,9的顺序输出这是十个数
#include <stdio.h>
int main()
{
int i;
int num[100];
printf("请输入10个数:\n");
for(i=0;i<10;i++) scanf("%d",&num[i]);
printf("输出为:\n");
for(i=9;i>0;i--) printf("%d ",num[i]);
printf("%d\n",num[0]);
return 0;
}
************************************************************************
5.通过键盘输入10个学生的成绩,存放在一个一维数组中,在求出这10个学生的平均成绩,打印输出平均
成绩的值.(通过主函数调用子函数来实现)
#include <stdio.h>
float fave(int a[],int n)
{
int i,sum=0;
float ave;
for(i=0;i<n;i++) sum+=a[i];
ave=sum*1.0/n;
return ave;
}
int main()
{
int i;
int num[100];
float ave;
printf("请输入10个学生的成绩:\n");
for(i=0;i<10;i++) scanf("%d",&num[i]);
ave=fave(num,10);
printf("10个学生的平均成绩为:\n");
printf("%.2f\n",ave);
return 0;
}
************************************************************************
6.输入十个整数,计算出平均值(aver),找出最大者(max)和最小者(min)并将三者输出。
#include <stdio.h>
float fave(int a[],int n)
{
int i,sum=0;
float ave;
for(i=0;i<n;i++) sum+=a[i];
ave=sum*1.0/n;
return ave;
}
int fmax(int a[],int n)
{
int i,max=a[0];
for(i=1;i<n;i++)
{
if(a[i]>max) max=a[i];
}
return max;
}
int fmin(int a[],int n)
{
int i,min=a[0];
for(i=1;i<n;i++)
{
if(a[i]>min) min=a[i];
}
return min;
}
int main()
{
int i,min,max;
int num[100];
float aver;
printf("请输入10个数:\n");
for(i=0;i<10;i++) scanf("%d",&num[i]);
aver=fave(num,10);
min=fmin(num,10);
max=fmax(num,10);
printf("平均值(aver):%.2f,最大者(max):%d,最小者(min):%d\n",aver,max,min);
return 0;
}
****************************************************************************
7.求1!+2!+3!+4!+5!通过函数调用来写
#include <stdio.h>
int fac(int n)
{
int i,mul=1;
for(i=1;i<=n;i++) mul*=i;
return mul;
}
int main()
{
int i,rst=0;
for(i=1;i<=5;i++) rst+=fac(i);
printf("1!+2!+3!+4!+5!=%d\n",rst);
return 0;
}
**************************************************************************