lead time 定义:C程序搭救....

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 08:20:11
请用C语言表达出来:
1打印出以下的杨辉三角形(要求打印出10行)、
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
. . . . . .
. . . . . .
. . . . . .

2.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

3.有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数。

1打印出以下的杨辉三角形(要求打印出10行)、
#include <stdio.h>
int main()
{
int arr[2][11], n, i, j;

n=10;
for (i=0; i<=10; i++)
arr[0][i] = arr[1][i] = 0;
arr[0][1] = 1;
for (i=1; i<=n; i++)
{
for (j=1; j<=i; j++)
arr[i%2][j] = arr[(i-1)%2][j-1]+arr[(i-1)%2][j];
for (j=1; j<=i; j++)
printf("%-4d", arr[i%2][j]);
printf("\n");
}
printf("\n");
return 0;
}

/*查找矩阵中的鞍点*/
#include <stdio.h>

void main()
{
int array[4][4]={{11,1,23,45},{40,56,98,91},{23,21,12,40},{45,67,23,90}};
int i,number=0,sign,j,m,n;
printf("数组是:\n");
for (i = 0;i <=3;i++)
{
for (j = 0; j<= 3;j++)
printf("%5d",array[i][j]);
printf("\n");
}
printf("\n");
for (i = 0; i <= 3; i++)
{
m = i;
n = 0;
sign = 1;
for(j = 0; j <= 3;j++)
{
if (array[m][n] < array[i][j])
{n = j;}
}
for(j = 0; j <= 3;j++)
{
if(array[m][n] >array[j][n])
sign = 0;
}
if (sign == 1)
{printf("鞍点是 %d\n",array[m][n]);number++;}
}
if (number == 0)
printf("没有鞍点\n");
}
3.有一篇文章
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void main()
{
int i,j,c,upper,lower,digit,space,punch;
char str[3][80];
upper=lower=digit=space=punch=0;
for(i=0;i<3;i++)
{
gets(str[i]);
for(j=0;j<10;j++)
{
c=str[i][j];

if(isupper(c)!=0)
{
upper++;
}

if(islower(c)!=0)
{
lower++;
}

if(isdigit(c)!=0)
{
digit++;
}

if(isspace(c)!=0)
{
space++;
}

if(ispunct(c)!=0)
{
punch++;
}
}
}
printf(" upper%d\n lower%d\n digit%d\n space%d\n punch%d\n",upper,lower,digit,space,punch);

}

回复1:打印杨辉三角
#include <stdio.h>
int main(void)
{
int a[10][10],(*p)[10]=a,i,j;
for(i=0;i<10;i++)
{
*(*(p+i)+0)=1;
*(*(p+i)+i)=1;
}
for(i=2;i<10;i++)
for(j=1;j<i;j++)
*(*(p+i)+j)=*(*(p+i-1)+j-1)+*(*(p+i-1)+j);
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",*(*(p+i)+j));
printf("\n");
}
getch();
return 0;
}
上面是我做的,推荐你一经典帖子,上面有打印杨辉三角的6种方法:
http://post.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=595391260&z=84246535&pn=0&rn=50&lm=0&word=c#595391260
————————————————————————
回复2:(鞍点问题)
#include <stdio.h>
void main(void)
{
int array[5][5],i,number=0,leap,j,m,n;
printf("\nInput the numbers of array:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
printf("array[%d][%d]=",i,j);
scanf("%d",&array[i][j]);
}
printf("The array is:\n");
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
printf("%5d",array[i][j]);
printf("\n");
}
printf("\n");
for (i=0;i<=5;i++)
{
m=i;
n=0;
leap=1;
for(j=0;j<5;j++)
{
if(array[m][n]<array[i][j]) n=j;
}
for(j=0;j<5;j++)
{
if(array[m][n] >array[j][n])
leap=0;
}
if(leap==1)
{printf("%d is the seek number!\n",array[m][n]);number++;}
}
if(number==0)
printf("No Answer!\n");
getch();
}
上面是用基本的数组做的,当然也可以用其他方法。不过这个比较好理解。
——————————————————————————————————
回复3.
假设该文章保存在c:\file1.c
先用fopen函数打开该文件,再利用fgetc函数逐个读文章的字符判断就可以了,楼上的要求是先输入该文章然后统计。其实道理是一样的。

第一个
#include "stdio.h"
void main()
{int i,j,a[10][10];
a[0][0]=a[1][0]=a[1][1]=1;
printf("%4d\n%4d%4d\n",a[0][0],a[1][0],a[1][1]);
for(i=2;i<=9;i++)
{ a[i][0]=1;
printf("%4d",a[i][0]);
for(j=1;j<=i-1;j++)
{a[i][j]=a[i-1][j]+a[i-1][j-1];
printf("%4d",a[i][j]);
}
a[i][i]=1;
printf("%4d\n",a[i][i]);
}
getch();
}
第二个
#include "stdio.h"
void main()
{int a[10][10], i,j,k,max,min,n=0;
printf("Please enter your array:\n");
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
scanf("%d,",&a[i][j]);
printf("\n");
}
for(i=0;i<10;i++)
{for(j=0,max=a[i][j];j<10;j++)
if(max<=a[i][j]) max=a[i][j];
for(j=0;j<10;j++)
if(max==a[i][j])
{for(k=0,min=a[k][j];k<10;k++)
if(min>=a[k][j]) min=a[k][j];
if(max==min)
for(k=0;k<10;k++)
if(max==a[k][j]) {printf("a[%d][%d] is a saddle_point;\n",k,j);n++;}
}
}
if(n==0) printf("there is no saddle_point in your array.\n");
getch();

}
第三个
#include<stdio.h>
void main()
{
char x;
int z=0,s=0,k=0,q=0,t=0,i;
printf("Plesse enter your chars:\n");
for(i=0;i<3;i++)
{while(x=getchar()!='\n');
{
if (x>='a'&&x<='z') z++;
else if(x>='A'&&x<='Z') t++;
else if(x>='0'&&x<='9') s++;
else if(x=='') k++;
else q++;
}
}
printf("the capital letters:%d\nthe small characters:%d\nnumbers:%d\nspace:%d\nothers:%d\n",t,z,s,k,q);
}